0

まず、この状況を理解するために私が読んだもののリストを次に示します。

Pythonでeofをチェックする方法

Ubuntu フォーラム

eofとは何か、Pythonでのその重要性は何ですか

whats-wrong-question-relied-on-files-exceptions-error-eoferror

Python ドキュメント: 例外

raw_input を使用する場合の Python EOF エラーの修正方法

これが私のコードです:

#!/usr.bin/env python

# Errors
error1 = 'Try again'

# Functions
def menu():
    print("What would you like to do?")
    print("Run")
    print("Settings")
    print("Quit")
    # The line below is where I get the error
    menu_option = input("> ")
    if 'r' in menu_option:
        run()
    elif 's' in menu_option:
        settings()
    elif 'q' in menu_options():
        quit()
    else:
        print(error1)
        menu()

ここに私のエラーがあります(他の2つのエラーを手伝ってくれるととてもうれしいです):

Traceback (innermost last):
File "C:\Program Files\Python\Tools\idle\ScriptBinding.py", line 131, in run_module_event
  execfile(filename, mod.__dict__)
File "C:\Documents and Settings\MyUser\Desktop\MyProgram.py", line 73, in ?
  menu()
File "C:\Documents and Settings\MyUser\Desktop\MyProgram.py", line 24, in menu
  menu_option = input("> ")
EOFError: EOF while reading a line

コードを変更してみましたが、何も起こりませんでした。

4

3 に答える 3

0

まず、上記のコードにタイプミスがあります...elif 'q' in menu_options():代わりに入力しましたelif 'q' in menu_option:. また、上記の他のいくつかが実行中にエラーが発生しなかった理由は、関数を定義した後に関数を CALL しなかったためです (これがコードのすべてです)。IDLE は、定義後に呼び出されるまで、関数の内容 (構文を除く) を評価しません。入力ミスを修正し、run、settings、および quit 関数を pass ステートメントに置き換え、スクリプトを実行しました...正常に実行されました。私に EOF エラーを与えた唯一のことは、私の場合は CTRL-D であった IDLE のファイルの終わりの組み合わせを入力することでした (「オプション」>「アイドル状態の構成」>「キー」>「カスタム キー バインディング」を確認してください> 'end-of-file' の横の組み合わせ)。そのため、誤ってキーの組み合わせを押してしまわない限り、実行、設定、および終了機能が正常に機能していれば (IDLE を使用している場合)、プログラムは正常に実行されるはずです...

#!/usr.bin/env python

error1 = 'Try again'

def menu():
    print("What would you like to do?")
    print("Run")
    print("Settings")
    print("Quit")
    # The line below is where I get the error
    menu_option = input("> ")
    if 'r' in menu_option:
        pass
    elif 's' in menu_option:
        pass
    elif 'q' in menu_option:
        pass
    else:
        print(error1)
        menu()
menu()

これは私が実行したスクリプトでした...それでもエラーが発生するかどうかを試してみることができます...

于 2013-11-30T21:12:07.030 に答える