Pythonを使ってファイルに書き込む際に奇妙な問題があります。ここでは、コードは次のようになります。Pythonが関数のデータを使ってファイルに書き込む
t = func()
print t
f = open('data_t.dat', 'w')
for i in t:
f.write('%d\n' % (i))
f.close()
私は、関数からの例外をキャッチしませんでしたが、次のように「T」の値をプリントアウトすることができます。
[51535, 96382, 95788, 95293, 94996, 95491, 95392, 96085]
をしかし、ファイルを生成することはできません。コードを実行した後、 "data_t.dat"というファイルはありません。ただし、このようなデータを直接使用すると、このファイルを生成することができます。
t = [51535, 96382, 95788, 95293, 94996, 95491, 95392, 96085]
f = open('data_t.dat', 'w')
for i in t:
f.write('%d\n' % (i))
f.close()
私は別の方法で試しました。この場合、ファイルは生成できません。
t = func()
t = [51535, 96382, 95788, 95293, 94996, 95491, 95392, 96085]
f = open('data_t.dat', 'w')
for i in t:
f.write('%d\n' % (i))
f.close()
問題は何か分かりません。どんな提案も大歓迎です。ありがとう!
フォローアップ:Adam Smithが指摘しているように、ディレクトリはfunc()で変更されています。これが起こる理由です。ご協力いただきありがとうございます。
"ファイルを生成できません"とはどういう意味ですか?例外はありますか?ファイルは作成されていますが、空ですか? – chepner
あなたのコードは 'func()'に例外や葉が残っていませんか?あなたの最初の例では、 't'を出力しますか? – Lafexlos
"ファイルを生成できません"というのは、 "data_t.dat"というファイルが存在しないことを意味します。コードを実行した後、ファイルは書き込まれません。 – user1794396