2017-08-02 112 views
0

編輯:也請參閱本 - PyCharm: How to debug `raw_input()` input from keyboard?的EOFError而在Pycharm的raw_input使用

我正在寫一個代碼for循環和採取的raw_input

for turn in range(4): 
    guess_row[0] = int(raw_input("Player 1 Guess Row:")) 
    guess_col[0] = int(raw_input("Player 1 Guess Col:")) 
    guess_row[1] = int(raw_input("Player 2 Guess Row:")) 
    guess_col[1] = int(raw_input("Player 2 Guess Col:")) 

但我發現了以下錯誤 - 完的文件。

Traceback (most recent call last): 
    File "/Users/bonjugal/Desktop/Pycharm/Battleship_Game.py", line 52, in <module> 
    guess_row[0] = int(raw_input("Player 1 Guess Row:")) 
EOFError 

但是,這個代碼工作正常,當我從終端運行它。我在某處讀到,如果您在閱讀/寫作後沒有關閉文件,可能會發生這種情況。它也可能發生在我身上(但在另一個項目中)。我應該怎麼做呢?我試過重新啓動IDE(Pycharm)。

另外,這個錯誤發生的背景是什麼?

+0

如果檢查出的EOFError https://docs.python.org/2/library/exceptions.html#exceptions.EOFError的文檔,你看到它時,它遇到發生沒有讀取任何數據的EOF狀況。如果它在您的終端中運行但不在Pycharm中,則在Pycharm IDE中鍵入用戶輸入時可能會出現某些格式問題。 –

+0

我無法在Pycharm中輸入任何用戶輸入。直到昨天,它的工作狀況都很好。它說**(注意:file.read()和file.readline()方法在EOF命中時會返回一個空字符串。)**今天,我在一個單獨的文件中嘗試使用read()和readline()方法。這可能是原因嗎?在這種情況下我能做些什麼? –

+0

如果你正在一個單獨的文件中嘗試它,可能不是。只要程序結束,Python就會自動關閉任何打開的文件 –

回答

1

找到了答案。這是Jetbrains Pycharm特有的問題。顯然,在運行配置包括「Show Command Line Afterwards」的情況下使用PyCharm時,它工作正常。此設置關閉時,raw_input被阻止。

編輯配置> config>檢查之後顯示命令行。

參照這個。

https://youtrack.jetbrains.com/issue/PY-20551