1

これは少し奇妙です。私のプログラムは、出力をファイルに書き込むことができません。エラーも表示されません。私は同時に標準出力を使用し、それが表示されていることを発見しました..

これは私のコードです:(Python 2.7)

#!/usr/bin/env python


import re

def isRecycled(n,m):
    n = str(n)
    m = str(m)

    try:
        ...........
        ...........
        My Code.

    except ValueError:
        return False

ip = open("C-small-attempt0.in", "r")
op = open("output.txt", "a")
for num, eachLine in enumerate( ip.readlines()[1:] ):
    ......
    ......
    My code

    ## This is WORKING
    print "Case #%d: %d" %(num+1, count)

    ## This is NOT Working
    op.write("Case #%d: %d" %(num+1, count))

これがファイルに書き込まれていない理由を誰か教えてください。

"w+""w"モード、およびメソッドを使用しようとしましたが、機能writelines()しませんでした。

編集済み

ただし、を使用してファイルを閉じたときに機能しましたop.close()

  1. なぜこれが起こっているのですか?(以前は遭遇しませんでした)
  2. python は、見つかったらすぐにファイルに書き込みますop.write()か?
4

3 に答える 3

3

ディスクに書き込むには、ファイルを閉じる必要があります。コードの最後に op.close() を追加します。

于 2012-04-14T13:04:29.520 に答える
1

変更を行った後にフラッシュするか、ファイルを閉じて、バッファーがディスクに書き込まれるようにしてください。

于 2012-04-14T13:03:37.057 に答える
-2

やってみてください:

op = open("output.txt", "ab")

それ以外の:

op = open("output.txt", "a")
于 2012-04-14T13:07:32.327 に答える