[解決済み] Pythonでtmpファイルを作成するには?
2022-12-05 20:28:26
質問
ファイルのパスを参照する関数があります。
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ボックスの中に設置します。
どのように解決するのですか?
あるところに
tempfile
モジュール
を使うこともできますが、単純なファイル作成でもうまくいきます。
new_file = open("path/to/FILE_NAME.ext", "w")
これで
write
メソッドを使って書き込むことができます。
new_file.write('this is some content')
を使うと
tempfile
モジュールでは、次のようになります。
import tempfile
new_file, filename = tempfile.mkstemp()
print(filename)
os.write(new_file, "this is some content")
os.close(new_file)
とは
mkstemp
を指定すると、そのファイルを使い終わった後に削除する責任があります。他の引数で、ファイルのディレクトリと名前に影響を与えることができます。
アップデイト
によって正しく指摘されたように
エメット・スピア
があります。
セキュリティの考慮事項
を使用する場合
mkstemp
を使用する場合、クライアントコードは作成されたファイルをクローズ/クリーンアップする責任があるからです。これを扱うより良い方法は、次のスニペットです (リンクから取得)。
import os
import tempfile
fd, path = tempfile.mkstemp()
try:
with os.fdopen(fd, 'w') as tmp:
# do stuff with temp file
tmp.write('stuff')
finally:
os.remove(path)
は
os.fdopen
はファイルディスクリプタを Python のファイルオブジェクトでラップし、そのファイルオブジェクトは
with
が終了した時点で自動的に閉じられます。の呼び出しは
os.remove
の呼び出しは、不要になったファイルを削除します。
関連
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonでファイルサイズを確認するには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列からPandas DataFrameを作成する
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Python 言語を決定するには?
-
[解決済み] 新しいpip backtrackingの実行時問題の解決