0
私はPython 3でUbuntu 16.04の下でtempfile.NamedTemporaryFile
に内容を書いています。特定の状況下では、私は書かれた後に別の場所にそのファイルをコピーしたいと思います。問題は次のコードで再現されます。LinuxでNamedTemporaryFileをコピーすると、空のファイルになる
import tempfile
import shutil
with tempfile.NamedTemporaryFile('w+t') as tmp_file:
print('Hello, world', file=tmp_file)
shutil.copy2(tmp_file.name, 'mytest.txt')
mytest.txt
は実行が終了すると空です。 NamedTemporaryFile
を作成するときにdelete=False
を使用した場合、その内容は/tmp/
で検査でき、問題はありません。
ドキュメントの通りWindowsで開いている間はファイルを開くことができないことは知っていますが、Linuxはうまくいくはずですので、そうは思わないでしょう。
何が起こっていますか?どのように解決できますか?