2014-09-22 7 views
0

I 초급 파이썬 사용자와 내가 터미널에 다음을 입력 할 때 :내 pydoc 명령이 exception.syntaxerror를 검색하는 이유는 무엇입니까?

$ pydoc이 Inleesgenbank.py

나는 다음과 같은 오류 메시지가 얻을 : ./Inleesgenbank.py에서

문제 - :

def usage(msg1=''): 
    """Levert de docstring met een foutspecificatie bij een gebruikersfout""" 
    print(__doc__, file=sys.stderr) 
    if len(msg1) > 0: 
     print('FOUTMELDING:', msg1, file=sys.stderr) 
: 유효하지 않은 구문 (Inleesgenbank.py, 라인 (30))

그래서 라인 (30)에이 코드에 syntaxis 오류가 있어야합니다

30 행은 다음과 같습니다. print(__doc__, file=sys.stderr)

이 코드는 매우 깨끗한 코드가 아니지만 잘못된 점을 알고 싶습니다.

답변

2

파이썬 3에서 구문 오류가 발생하지 않지만 파이썬 2에서 구문 오류가 발생합니다. 파이썬 3 인쇄 구문을 사용하고 있습니다.

파이썬 2의 당신은 사용한다 : 나는 내가으로 ErrorMessage를하지 않는 대신하여 pydoc의 pydoc3를 사용할 때

print >> sys.stderr, usage.__doc__ 

참고 또한 당신은 아마

+0

usage.__doc__을 의미 당신이 옳다. 그래서 shebang이 pydoc 명령에 대해 작동하지 않는다고 가정합니다. – RonaldN

+0

셰 배너 라인은 스크립트가 직접 실행될 때만 사용됩니다. 그래서 네가! line은 pydoc3을 가지고 있어야하고, pydoc을 사용하여 호출하지 말고'Inleesgenbank.py'를 사용하여 직접 호출해야합니다. 대부분의 스크립팅 언어는 pydoc뿐만 아니라 파이썬에도 적용됩니다. – cdarke