Python は tempfile パッケージを使用してコードを簡単にトレースなしで実行します。
2022-01-27 23:41:50
I. はじめに
Pythonで一時ファイルやフォルダーを使うための入門編です。
tempfile パッケージを使用します。
pip install tempfile
https://docs.python.org/3/library/tempfile.html
II. テンポラリーフォルダ
2.1 一時フォルダの取得
# Get the temporary folder
tmpdir = tempfile.gettempdir()
print(tmpdir) #/tmp
2.2 一時フォルダの生成
# Way 1: Generate the default temporary folder
tmpdir = tempfile.mkdtemp()
print(tmpdir) #/tmp/tmpui77cgud
# way two: generate custom temporary folder (specify prefix, suffix, directory, you can specify part of it), suffix: suffix, prefix: prefix, dir: directory
tmpdir = tempfile.mkdtemp(suffix='_txt', prefix='tp_dir_', dir='/home/tmp/py_rs_file')
print(tmpdir) # /home/tmp/py_rs_file/tp_dir_06l_o2dm_txt
iii. 一時ファイル
3.1 自動的には削除されない一時ファイルを生成する(終了時)
# Way 1: Generate the default temporary file, which is a binary file by default
tmpfile = tempfile.mkstemp()[1]
print(tempfile) #/tmp/tmp75kazf_8
# Data write
with open(tmpfile, 'w+') as t_f:
t_f.writelines('hello world')
# way two: generate custom temporary file (specify prefix, suffix, directory, file type parameters, you can specify some of them),suffix: suffix, prefix: prefix, dir: directory, text: file type, True for text, false for binary
tmpfile = tempfile.mkstemp(suffix='.txt', prefix='tp_', dir='/home/tmp/py_rs_file', text=True)[1]
print(tempfile) # /home/tmp/py_rs_file/tp_pn2973g0.txt
# Data write
with open(tmpfile, 'w+') as t_f:
t_f.writelines('hello world')
3.2 自動削除される一時ファイルを生成する
# Way 1: Create a temporary file that is automatically deleted when the file is closed
tmpfile = tempfile.TemporaryFile(mode='w+t')
tmpfile.write('hello world') ## data write
tmpfile.seek(0)
tmpTxt = tmpfile.read() ## read data
print(tmpTxt)
tmpfile.close() #File is automatically deleted when closed
# way 2: create a temporary file, the file is closed according to the delete parameter to determine whether to automatically delete, True: delete False: do not delete
with tempfile.NamedTemporaryFile(delete=False) as tmpfile:
file_name = tmpfile.name
print(file_name) #/tmp/tmp73zl8gmn
tmpfile.write('hello world'.encode())
tmpfile.seek(0)
tmpTxt = tmpfile.read().decode()
print(tmpTxt)
# way three: create a custom temporary file, the file can be closed according to the delete parameter to determine whether to automatically delete, True: delete False: do not delete
# other configuration parameters are, mode: file mode (w + b for binary mode (default), w + t for text mode), suffix: suffix, prefix: prefix, dir: directory
with tempfile.NamedTemporaryFile(mode='w+t', suffix='.txt', prefix='tp_', dir='/home/tmp/py_rs_file',delete=False) as tmpfile:
file_name = tmpfile.name
print(file_name) #/home/tmp/py_rs_file/tp_fcwpmh3l.txt
tmpfile.write('hello world')
tmpfile.seek(0)
tmpTxt = tmpfile.read()
print(tmpTxt)
コンテキストに応じて、一時的なリソースはインメモリまたはデータベースストレージから直接呼び出すことができます。
テクニカルコミュニケーション
転載、ブックマーク、応援など、ご自由にどうぞ。
Pythonでtempfileパッケージを使用して、コードを簡単に、痕跡を残さずに実行する方法についてのこの記事は以上となります。Python tempfile パッケージについてのより詳しい情報は、Script House の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。
関連
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】TypeError: 'int' 型のオブジェクトは len() を持たない - Python/Pygame
-
[解決済み】属性エラー:'list'オブジェクトに'split'属性がない
-
[解決済み] ValueError: 解凍する値が足りない (期待値 4、取得値 1)
-
[解決済み] Pythonソケット(Socket Error Bad File Descriptor)
-
[解決済み] Biopython(Python)を使ってFASTAファイルから配列を抽出する。
-
[解決済み] python "break" エラー: ループ外でのブレーク
-
AttributeError: 'list' オブジェクトには 'ndim' という属性がありません。
-
PythonでBeautiful Soupのインストールに成功しても、'bs4'という名前のモジュールがない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Pythonのネストループでアスタリスク付きの矩形を印刷する
-
[解決済み】Pandasでデータ(.datファイル)を読み込む
-
TclError 表示名がない、$DISPLAY 環境変数がない問題が解決されました。
-
[解決済み] オープンCVエラーです。(-215) scn == 3 || scn == 4 in function cvtColor
-
[解決済み] ライブラリ libxml2 で関数 xmlCheckVersion が見つかりませんでした。libxml2 はインストールされていますか?" というメッセージが表示されます。
-
[解決済み] Django - ''の逆が見つかりません。'' は有効なビュー関数またはパターン名ではありません。
-
[解決済み] Flaskアプリで "could not locate flask application "というエラーが発生する。Flask Migrateで「......FLASK_APP環境変数」のエラーが発生する。
-
[解決済み] TensorFlowでのメモリリーク
-
Python3 ランタイムエラー TypeError: bytes 型のオブジェクトは JSON シリアライズ可能ではありません。
-
[Problem log] Python run エラー: str に str (not "int") を連結することしかできない。