EOFError
input()で入力を待っている最中に、それ以上入力できる内容がなくなってしまったときに発生するエラーです。
原因
ターミナルで入力を求められている途中にCtrl+DやCtrl+Zで入力を強制終了した、または自動化されたスクリプトが想定した入力を渡せていないことが原因です。
エラーになるコード例
name = input('お名前を入力してください:')
print(name)修正版
try:
name = input('お名前を入力してください:')
print(name)
except EOFError:
print('入力が中断されました')よくある間違い
- input()を含むスクリプトを、対話的でない環境(自動テストなど)でそのまま実行してしまう
- 入力待ちの状態でCtrl+D(Mac/Linux)やCtrl+Z(Windows)を押してしまう