2013-05-07 123 views
0

在windows終端中,一種類型:python3 program.py<input_file.txt使用文本輸入文件運行程序。 我是新來的Linux和我已經試過這一點,我得到的錯誤:輸入文件與python 3 EOF

File "<string>", line 1, in <module> 

任何建議,爲什麼它的閱讀我的輸入文件作爲一個字符串?任何幫助將非常有用!

+2

請發表您的源代碼。問題不在命令行中。 – 2013-05-07 19:21:36

+1

這是完整的錯誤嗎?這幾乎肯定只是其中的一部分。另外,導致這個問題的'program.py'和'input_file.txt'的[示例內容](http://sscce.org/)是什麼? – phihag 2013-05-07 19:22:01

+0

Python不會將您的'input_file.txt'作爲字符串讀取。 shell正在將'input_file.txt'作爲Python的標準輸入,並且Python將它交給腳本,就像在Windows中一樣。 – abarnert 2013-05-07 19:22:22

回答

1

瘋狂的猜測。您在Windows中使用python3,但是您在Linux中使用python2。此外,您的程序中還有一個input()函數調用。你陷入了python2和python3之間的不兼容變化。

您可以通過在每個環境中運行python -V來確認我的懷疑。

如果我是對的,您可以通過將input()替換爲raw_input()或在Linux上安裝python3來解決問題。

+0

哇,謝謝!我已經在兩臺機器上下載並安裝了3.3.1,但我猜測它在我的Linux機器上沒有佔用2.7的位置。 – 2013-05-08 21:31:20