6

ファイルをコピーしてから、新しいファイルの書き込みを開始したい:

shutil.copyfile("largefile","newlargefile")
nwLrgFile=open("newlargefile",'a')
nwLrgFile.write("hello\n")

ただし、上記helloを行うと、ファイルの末尾の前に書き込まれます。copyfile が確実に実行されるようにする正しい方法は何ですか?

私はSOと他の場所を見ましたが、私が見たすべての答えは、shutil.copyfileがブロックまたはロックし、それは問題ではないと言っていました。それでも、そうです。助けてください!

4

1 に答える 1

3

copyfileobj代わりに直接使用してみてください:

with open('largefile', 'r') as f1, open('newlargefile', 'w') as f2:
    shutil.copyfileobj(f1, f2)
    f2.write('hello')
于 2013-02-07T00:55:39.577 に答える