2013-06-23 128 views
0

我試圖在Mac上從終端運行python程序時出現了一個小問題。當我的'.py'程序有一個'輸入(「按回車鍵找出。」)'命令終端提供以下錯誤信息,一旦你按下'返回'鍵。在Mac上從終端運行Python .py文件時出錯

Traceback (most recent call last): 
     File "word_problems.py", line 6, in <module> 
     input ("press the enter key to find out.") 
     File "<string>", line 0 

     ^
    SyntaxError: unexpected EOF while parsing 

有人可以解釋問題出在哪裏嗎?

在此先感謝。

+0

可能的重複:[Python意外的EOF解析時](http://stackoverflow.com/questions/5074225/python-unexpected-eof-while-parsing) – djf

+0

謝謝,我環顧四周stackoverflow,但沒有看到那。 – joesh

回答

1

在python 2.7中,input()eval(raw_input())完全相同。

因此,當你按回車,你真正進入''和:

>>> eval('') 
Traceback (most recent call last): 
File "<PythonForiOS-Input>", line 1, in <module> 
    File "<string>", line 0 

    ^
SyntaxError: unexpected EOF while parsing 

相反,使用raw_input()

+0

是的,對於所有你關心的人,我在我的手機上測試了這個:3。 – TerryA

+0

好吧,我剛剛測試過它,工作正常。 – joesh

+0

@joesh不要忘記接受答案! :) – TerryA

1

當您希望接受字符串作爲輸入時,使用raw_input而不是輸入。輸入只接受Python表達式,並對它們進行評估。

+0

你的意思是說,在我的原始.py程序中,我必須預見到這個問題,並且每次都使用'原始輸入'而不是普通的'輸入'命令?難道沒有任何辦法可以肯定這意味着我只讓我的程序終端友好....? – joesh

+0

偉大的,測試它,它工作正常。但正如我所說,沒有其他方法嗎?當然,它現在在終端上正常工作,但我在IDLE中得到了相同的錯誤代碼。最大的區別是,至少我明白爲什麼。十分感謝。 – joesh

+0

好吧,我不知道這是否正確,但...我注意到,如果我在程序的開頭添加命令'input = raw_input'一切正常。這意味着在運行程序時,可以使用'#'命令打開和關閉它,具體取決於哪個終端或IDLE。 – joesh

相關問題