2014-12-27 1 views
-1

나는 프로그래머가 아니며 파이썬에서 스크립트를 발견했다.파이썬에서 라인 디버깅

info = {k: v.strip('"') for k, v in info.items()} 

File "<stdin>", line 12 
    info = {k: v.strip('"') for k, v in info.items()} 

         ^
SyntaxError: invalid syntax 

당신이 그것을 디버깅하는 데 도움시겠습니까 : 나는 다음과 같은 라인

info = {k: v.strip('"') for k, v in info.items()} 

를 실행할 때이 오류를 준다?

+1

당신은 아마 해당 스크립트가 요구하는 것보다 파이썬의 이전 버전을 사용하고 있습니다. 어떤 버전의 파이썬을 사용하고 있습니까? 이 코드는 Python 2.7 이상에서만 사용할 수있는 사전 독해력을 사용합니다. – BrenBarn

+0

2.6.6. 이 문제를 어떻게 해결할 수 있습니까? – ali

+1

이전 버전의 Python에서 제대로 실행되는 양식으로 해당 행을 쉽게 변환 할 수 있지만 Python 3 용으로 작성된 스크립트의 경우 전환이 필요한 코드가 더 많이 포함될 수 있습니다. –

답변

0

파이썬은 그 라인의 2.6 버전은

info = dict((k, v.strip('"')) for k, v in info.items()) 

하거나, 조금 더 효율적인

info = dict((k, v.strip('"')) for k, v in info.iteritems()) 

하지만 내 댓글에 말했듯이 스크립트는 파이썬 3 작성된 경우, 그것을 할 수있다 전환이 필요한 코드가 더 많이 포함되어 있습니다. 특히, 스크립트가 input() 함수를 사용한다면, 파이썬 2 & 파이썬 3은 input() 함수를 가지고 있지만, 파이썬 3 input()은 이전의 input()과는 상당히 다르게 동작합니다.

+0

"info"가있는 두 줄이 있습니다. 다음 줄은 문제의 줄 앞에 있습니다. info = dict (x.strip(). split() for fields [8] .split (';') if x ! = '') – ali

+0

그리고 나서 Q의 줄 – ali

+0

@ali : 그 줄'info = dict (x.strip(). split() fields [8] .split (';')의 x는 x! = '')'괜찮습니다. Python 2와 Python 3에서는 동일하게 동작합니다. –