0

Python では、テキスト ファイルを編集し、それらのテキスト ファイルを使用する実行可能ファイルを実行するスクリプトを作成しようとしています。基本的には、1) テキスト ファイルを開いて読み取り/書き込みを行い、2) 先ほど書き込んだファイルを bash コマンドで使用する必要があります。簡単な例を次に示します。

import subprocess

# write file
a = ['1\n','2\n','3\n','4\n','5th and final line']
f = open('junk01.txt', 'wb')
f.writelines(a)
f.close

# show file
subprocess.call('cat junk01.txt', shell=True)

そのsubprocess.callコマンドの何らかの理由で、junk01.txt ファイルの内容が表示されません。ただし、このコードを実行cat junk01.txtして bash と入力すると、ファイルは正しく書き込まれています。同様に、テキスト ファイルを開いて書き込み、閉じてから実行可能ファイルで使用しようとしても、ファイルがまだ書き込まれていないことに気付きました。これがなぜなのか、それを修正するために何ができるのかについての説明はありますか?

4

2 に答える 2

9

実際に close() メソッドを呼び出してファイルを閉じます。これにより、暗黙的にバッファーがディスクにフラッシュされます。

f.close()

それよりも

f.close     #this probably doesn't do anything, but if there was no close method it would raise an error.
于 2009-03-11T19:18:45.790 に答える