【发布时间】:2015-01-03 11:04:25
【问题描述】:
我是 Python 新手,在编写一段代码时有些吃力。我正在使用 rundeckrun,它是 Rundeck API 的开源 python 客户端。客户端中有一段代码似乎被锁定到 python 2.7+,我真的需要让它在 Python 2.6 上工作。我试过搜索,但我什至不知道这个结构叫什么,很难找到它的 2.6 版本。
node_attr_keys = (
'name',
'hostname',
'username',
'description',
'osArch',
'osFamily',
'osName',
'editUrl',
'remoteUrl',
)
data = {k: getattr(self, k)
for k in node_attr_keys if getattr(self, k, None) is not None}
具体错误是:
文件“/usr/lib/python2.6/site-packages/rundeckrun-0.1.11-py2.6.egg/rundeck/client.py”,第 21 行,在 从 .api 导入 RundeckApiTolerant、RundeckApi、RundeckNode 文件“/usr/lib/python2.6/site-packages/rundeckrun-0.1.11-py2.6.egg/rundeck/api.py”,第 135 行 对于 node_attr_keys 中的 k 如果 getattr(self, k, None) 不是 None} ^ SyntaxError: 无效语法
【问题讨论】:
-
^ 它被称为“字典理解”。希望这个其他问题有所帮助。
-
感谢大家的快速回复!
-
我在 rundeckrun 中没有正式支持 python 2.6。好吧,无论如何我都不测试它(显然)。如果您提交 github 问题或拉取请求,我会查看它。如果这是唯一的变化,应该很容易。希望没有其他地雷。
标签: python python-2.7 python-2.6 rundeck