1. はじめに
一時ファイルは通常、メモリに保存できないデータを保存したり、メモリに保存する必要があるデータに渡すために使用されます。ファイルから読み取る外部プログラム。通常、/tmp ディレクトリに一意のファイル名を生成しますが、一時ファイルを安全に作成することはそれほど単純ではなく、多くのルールに従う必要があります。これを自分で実行しようとせず、代わりにライブラリ関数を使用してください。一時ファイルのクリーンアップにも注意してください。
一時ファイルによって引き起こされる最大の問題は、ファイル名が予測できるため、悪意のあるユーザーが一時ファイル名を予測し、一時ファイルをハイジャックするためのソフト リンクを作成できることです。
関連する無料学習の推奨事項: Python ビデオ チュートリアル
##2. tempfile モジュールの概要
一時ファイルの作成に一般的に使用されるモジュールは tempfile です。このモジュール ライブラリの一般的に使用される関数は次のとおりです:3. 例の紹介
次の方法では、安全な方法と安全でない方法を紹介します。一時ファイル。3.1 間違った例:
間違った 1:
import os import tempfile # This will most certainly put you at risk tmp = os.path.join(tempfile.gettempdir(), filename) if not os.path.exists(tmp): with open(tmp, "w") file: file.write("defaults")
間違った 2:
import os import tempfile open(tempfile.mktemp(), "w")
間違った 3:
filename = "{}/{}.tmp".format(tempfile.gettempdir(), os.getpid()) open(filename, "w")
3.2 正しい例
正しい 1:
fd, path = tempfile.mkstemp() try: with os.fdopen(fd, 'w') as tmp: # do stuff with temp file tmp.write('stuff') finally: os.remove(path)
正解 2:
# 句柄关闭,文件即删除 with tempfile.TemporaryFile() as tmp: # Do stuff with tmp tmp.write('stuff')
正解 3:
tmp = tempfile.NamedTemporaryFile(delete=True) try: # do stuff with temp tmp.write('stuff') finally: tmp.close() # 文件关闭即删除
関連する無料学習の推奨事項: Python チュートリアル(ビデオ)
以上がPython 一時ファイルの適切な使用方法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。