gpt4 book ai didi

rundeckrun 的 Python 2.6 兼容性

转载 作者:行者123 更新时间:2023-12-01 04:58:44 25 4
gpt4 key购买 nike

我是 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} ^语法错误:语法无效

最佳答案

正如 Kevin 指出的,这是字典理解。

在 Python 2.6 中,您可以将其编写为生成元组列表(键/值对)的生成器表达式,并将其传递给 dict 构造函数:

data = dict((k, getattr(self, k))
for k in node_attr_keys if getattr(self, k, None) is not None)

关于rundeckrun 的 Python 2.6 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26787972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com