【问题标题】:passing a variable with colon in function python在函数python中传递带冒号的变量
【发布时间】:2014-02-05 20:22:09
【问题描述】:

我正在使用这个 api.. 它的函数调用如下:

g.vertices.index.lookup(identifier="value")

现在请注意,标识符是一个我没有定义但由api解析的变量,值是一个字符串。

类似的事情发生在 pymongo api 中: http://api.mongodb.org/python/current/tutorial.html

db = client.test_database

等于

db = client["test_database"]

test_database 在第一种情况下,即使用户没有定义该变量.. 但 mongo 理解在我的数据存储中,我是否有一个名为 test_database 的数据库..

现在,我遇到的问题是: 我的数据存储中有一个冒号..

也就是说是这样的:

g.vertices.index.lookup(bad:identifier="value")

见..查询中的冒号..

而且这个 api 没有那个 mongo 类型的字典实现..

我知道,我应该解决这个问题,就像我为什么会得到这个冒号一样。但这就是我现在遇到的问题。

问题是因为那个冒号,我明白了

g.vertices.index.lookup(bad:identifier="value")
                           ^
SyntaxError: invalid syntax

我该如何解决这个问题

【问题讨论】:

  • 如果你尝试,它对你有用吗:g.vertices.index.lookup(**{'bad:identifier':"value"})(我不确定这个 API 是什么......也不知道在这种情况下参数解包如何工作)......
  • 嘿,这是我的解决方案:P

标签: python bulbs


【解决方案1】:
g.vertices.index.lookup(**{"bad:identifier":"value"})

可能有效...这称为解包关键字参数

【讨论】:

  • @Joran:天才的一击……:D
  • 这也可以:g.vertices.index.lookup("bad:identifier", "value") -- 请参阅下面的答案中的解释。
【解决方案2】:

在 Bulbs 中,index.lookup(key=value) 只是 index.lookup(key, value) 的语法糖,因此您可以简单地这样做:

>>> g.vertices.index.lookup("bad:identifier", "value")

您没有指明您使用的是哪个图形数据库服务器(Neo4j Server、Rexster 或 Titan),但每个服务器的语法都是相同的。见...

【讨论】:

    猜你喜欢
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 2013-03-07
    相关资源
    最近更新 更多