2

あるファイルから数値のリストを読み取り、それらを分割して、別のファイルに入れようとしています。いくつかのデバッグ プリントをいじった後、問題は文字列のループや分割ではなく、実際に新しいファイルに書き込むスクリプトの最後の行にあるという結論に達しました。

私が望むように書くのではなく、ファイルのほとんどを通り抜けて、ファイルの最後の数行を書きません。スクリプトに記述できる内容の数に制限はありますか? それとも、ここで何か他のことが起こっていますか?

スクリプトは次のとおりです。

#constants to name out in/out files
INFILE = 'newkicBright.txt'
OUTFILE = 'out.txt'

#open both files
inHandle = open(INFILE, 'r')
outHandle = open(OUTFILE, 'w')

#console verifies that everything's opened
print inHandle
print outHandle

#read our data into the file!
for line in inHandle:
    nums = string.split(line)
    for num in nums:
        num += " PLACEHOLDER\n"
        outHandle.write(num)
4

1 に答える 1

3

ファイル ハンドラを閉じて、実際にすべてを書き込み、クリーンアップする必要があります。

outHandle.close()

それを最後に追加します。

close意味flush: Python で close() は flush() を意味しますか?

于 2013-04-11T02:50:00.567 に答える