저는 Python을 처음 사용하여 코드 조각에 조금 어려움을 겪고 있습니다. 나는 Rundeck API를위한 오픈 소스 파이썬 클라이언트 인 rundeckrun을 사용하고있다. 클라이언트에는 python 2.7+에 고정되어있는 것으로 보이는 코드가 하나 있는데 Python 2.6에서 작동하도록해야합니다. 나는 검색을 시도했지만 실제로이 구조체가 2.6이라는 것을 찾기가 너무 어려워서 무엇인지 모릅니다.rundeckrun 용 Python 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" line 21, 에서 .api import RundeckApiTolerant, RundeckApi, RundeckNode 파일 "/usr/lib/python2.6/site-packages/rundeckrun-0.1.11-py2.6.egg/rundeck/api.py", 줄 node_attr_keys K에 대한 135 getattr는 (자체가, K는 없음) 없음}^ 구문 에러없는없는 경우 잘못된 구문
[파이썬 2.7 이전의 사전 형식으로 대체하는 방법] 중복 가능 (http://stackoverflow.com/questions/21069668/alternative-to-dict-comprehension-prior-to-python-2-7) –
^"사전 이해력"이라고 불린다. 희망이 다른 질문이 도움이됩니다. –
빠른 답장을 보내 주셔서 감사합니다! – moshjeier