使用するモジュール :tempfile
import tempfile でインポートできます。
テンポラリーファイルの作成
一時的にテキストなどを保存して、処理が終わったら自動的に消すか残すか選択できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import tempfile # テンポラリーファイルを作成(IOバッファ) with tempfile.TemporaryFile(mode="w+") as t: # 書き込み → 頭に移動 → 出力 t.write("hello") # mode="w" t.seek(0) # mode="+" print(t.read()) # IOバッファではなくて、実際にテンポラリーファイルを見える形で作る場合 with tempfile.NamedTemporaryFile(delete=False) as t: # テンポラリーファイルが作られた場所を出力する print(t.name) # テンポラリーファイルを開く with open(t.name, mode="w+") as f: # 書き込み→頭に移動→出力 f.write("test\n") f.seek(0) print(f.read()) |
テンポラリーディレクトリの作成
こちらも一時的にディレクトリを作成して、処理が終わったら自動的に消すか残すか選択できます。
1 2 3 4 5 6 7 8 9 |
import tempfile #テンポラリーディレクトリを作成する(終わったら消える) with tempfile.TemporaryDirectory() as td: print(td) #ここはtd.nameではないのことに注意 #テンポラリーディレクトリを作成する(終わっても消えない) temp_dir=tempfile.mkdtemp() print(temp_dir) |
おわりに
いろんなソフトウェアを使うとテンポラリーファイルが溜まっていくと言われてますが、こういうことなんですね。自動的に消えないようにしたときは、しっかり自分でディレクトリとファイルを消すようにしないといけませんね。
消し方はこちら。ファイル操作
import os
os.remove(path)
os.rmdir(path)
ディレクトにファイルが入っていると消せないので、まるごと消す場合はこちら。
import shutil
shutil.rmtree(path)
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日