Python 2.6で作業していて、迷惑なエラーが発生しましたが、その理由はまだわかりません。関心のあるファイルには、単一の値のみの複数の行が含まれています。これらの値を取得したいと思います。このコードスニペット
f = open(file, 'r')
for line in file:
value = eval(line)
次のエラーメッセージが表示されます。
File "<string>", line 1, in <module>
NameError: name 'c' is not defined
だから私はここでStackOverflowについて調べました..この質問と別の質問で..しかし、私は彼らの問題と私の問題との関係を描くのに苦労しています。私が彼らから得たのは、私の使用はeval()
Pythonを混乱させる可能性があるということです。評価する必要はなく、実際の変数が表すraw_input
ことをPythonに知らせるために使用する必要があります。ただし、コードを次のように修正します。line
line
for line in file:
value = eval(raw_input(line))
これは次のエラーを引き起こしました(そして端末が過負荷になっている可能性があります..プログラムを終了するまで単にフリーズしました):
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
私はここで何が間違っているのですか?eval()
SOの周りで使うのが好きではないという事実を拾いました、私はそれが機能であると誤解していますか?
編集:私のファイルは値のリストなので、
2
3
2
3
1
0
等
編集だから、それは誤解でした。私のファイル名が一致していないことを指摘してくれたDSMと、 。int
のより良い代替手段として引き続き支援および表示してくれたLevonに感謝しますeval
。