1

そこで、ファイルにいくつかの行を書き込む簡単なスクリプトを作成しました。

f = open('file.txt','w')
while(operator): 
      f.write("string")
f.close()

問題は、スクリプトの実行中、ファイルが空のままであり、スクリプトが終了してファイルを閉じたときにのみ、内容が表示されることです。何が起こっているのでしょうか。また、スクリプトの実行時にスクリプトがファイルに書き込んだ内容がすぐに表示されるようにするにはどうすればよいですか。

スクリプトを実行するためにBackTrack5を実行しています。

4

1 に答える 1

5

を使用してコンテンツをフラッシュする必要がありますf.flush()。バッファ内の現在のコンテンツをファイルに書き込みます。

In [17]: f.flush.__doc__
Out[17]: 'flush() -> None.  Flush the internal I/O buffer.'

ファイルを自動的に閉じるため、ファイルを処理するためのステートメントを使用withします。

with open("file.txt","w") as f:
    while(operator):
        f.write("string")
        f.flush()
于 2012-10-30T10:30:54.470 に答える