나는 이것 때문에 고군분투하고 있고, 아마도 내가 볼 수 없지만 단순한 것입니다 ...
import subprocess, pprint
cmd = subprocess.Popen('bhosts', shell=True, stdout=subprocess.PIPE)
errorCode = 0
description =""
arrayprova=[]
for linea in cmd.stdout:
if "ok" not in linea and "closed" not in linea and "HOST_NAME" not in linea:
arrayprova = linea.split()
description = description + "host " + arrayprova[0] + "is " + arrayprova[1]
errorCode = 1
print arrayprova[1]
if errorCode == 0:
description ="Everything is just fine."
print description
이 오류가 발생합니다.
File "bhosts_nodes_check.py", line 9
description = description + "host " + arrayprova[0] + "is " + arrayprova[1]
^
SyntaxError: invalid syntax
편집기에서 탭과 공백을 혼합하고 있습니다.
>>> '''\
... arrayprova = linea.split()
... description = description + "host " + arrayprova[0] + "is " + arrayprova[1]
... '''
' arrayprova = linea.split()\n\t\tdescription = description + "host " + arrayprova[0] + "is " + arrayprova[1] \n'
>>> # ^^^ spaces here - but tabs here ^^^^
...
파이썬은 8 번째 열마다 탭을 확장하지만 아마도 편집기가 탭에 4 개의 공백 만 사용하도록 설정하여 혼란을 더욱 증가시킬 것입니다. 당신의 arrayprova
다음 줄에있는 두 개의 탭이 확장되는 동안 라인은 8 개 공간으로 들여 쓰기 (16 개) 공간.
혼합 들여 쓰기 스타일을 사용하지 마십시오. 탭만 또는 공백 만 고수하십시오.
대부분의 편집기 는 들여 쓰기 에만 공백을 사용하도록 구성 할 수 있습니다 . 여기서 TAB키를 누르면 공백이 작성됩니다. 다음은 Python 스타일 가이드 (PEP 8)에서 권장하는 것입니다.
탭 또는 공백?
탭과 공백을 혼합하지 마십시오.
Python을 들여 쓰기하는 가장 인기있는 방법은 공백 만 사용하는 것입니다. 두 번째로 많이 사용되는 방법은 탭만 사용하는 것입니다. 탭과 공백이 혼합 된 들여 쓰기 된 코드는 공백 만 사용하도록 변환해야합니다. -t 옵션을 사용하여 Python 명령 줄 인터프리터를 호출 할 때 탭과 공백을 불법적으로 혼합하는 코드에 대한 경고를 표시합니다. -tt를 사용하면 이러한 경고가 오류가됩니다. 이러한 옵션을 적극 권장합니다!
새 프로젝트의 경우 탭보다 공백 만 사용하는 것이 좋습니다. 대부분의 편집자는이를 쉽게 수행 할 수있는 기능이 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다