2015-03-19 39 views
0

每當我嘗試在Sublime Text 2(Python 2.7)中都有input()或raw_input()時生成代碼時,出現此錯誤:Sublime Text 2:構建Python 2.7程序時出現Ctrl + b錯誤消息

的EOFError:EOF閱讀時的線路 [在0.1秒完成,退出代碼1]

我發現了一些教程,說這是一個關於ST不能定位Python的問題,所以我編輯應具備的文件固定它,無濟於事。我仍然得到同樣的錯誤。

這裏有什麼問題,以及如何解決這個問題?

回答

0

這不是與ST不定位的Python的問題,相反,它是建立程序時ST不支持交互的事實 - input()/raw_input()在Python,Ruby中getsscanf和同事在C/C++,Scanner在Java中等等。對於編譯語言,解決方法是通過處理輸入的shell運行你的程序。這也可以用像Python,Ruby,Perl等解釋型語言來完成,但對於很多人來說,他們首選的解決方案是使用SublimeREPL,可通過Package Control獲得。這基本上是在Sublime內運行一個交互式Python shell,無論是標準的Python shell還是IPython,我都希望有很多原因。

SublimeREPL帶有一系列命令,用於獲取行,塊,選擇或整個代碼文件並將它們傳遞給REPL(必須先手動啓動),然後處理輸入和輸出。或者,如果您只是測試較小的代碼片段,您可以在SublimeREPL本身內輸入並運行它 - 我發現自己經常這樣做,這非常有幫助。