Pythonでtmpファイルを作成するにはどうすればいいですか? 質問する

Pythonでtmpファイルを作成するにはどうすればいいですか? 質問する

ファイルのパスを参照する次の関数があります:

some_obj.file_name(FILE_PATH)

ここで、FILE_PATHはファイルのパスを表す文字列です。H:/path/FILE_NAME.ext

Python スクリプト内に、文字列の内容を含むファイル FILE_NAME.ext を作成したいと思います。

some_string = 'this is some content'

これをどうやって行うのでしょうか? Python スクリプトは Linux ボックス内に配置されます。

ベストアンサー1

あなたが探しているのはtempfile.NamedTemporaryFile

import tempfile
with tempfile.NamedTemporaryFile() as tmp:
    print(tmp.name)
    tmp.write(...)

しかし:

名前付きの一時ファイルがまだ開いている間に、その名前を使用してファイルをもう一度開くことができるかどうかは、プラットフォームによって異なります (Unix では使用できますが、Windows NT 以降では使用できません)。

それがあなたにとって懸念事項である場合:

import os, tempfile
tmp = tempfile.NamedTemporaryFile(delete=False)
try:
    print(tmp.name)
    tmp.write(...)
finally:
    tmp.close()
    os.unlink(tmp.name)

おすすめ記事