[解決済み】Pythonでtempディレクトリを取得するクロスプラットフォームの方法
2022-03-28 14:38:29
質問
へのパスを取得するクロスプラットフォームの方法はありますか?
temp
ディレクトリを作成できますか?
例えば、Linuxでは、次のようになります。
/tmp
一方、XPでは
C:\Documents and settings\[user]\Application settings\Temp
.
解決方法は?
それは テンプレートファイル モジュールを使用します。
一時ディレクトリを取得する関数や、その中に名前付きや無名の一時ファイルやディレクトリを作成するためのショートカットも用意されています。
例
import tempfile
print tempfile.gettempdir() # prints the current temporary directory
f = tempfile.TemporaryFile()
f.write('something on temporaryfile')
f.seek(0) # return to beginning of file
print f.read() # reads data back from the file
f.close() # temporary file is automatically deleted here
念のため、ドキュメントによると、一時ディレクトリを検索する方法は次のとおりです。
-
で指定されたディレクトリは
TMPDIR
環境変数 -
で指定されたディレクトリは
TEMP
環境変数 -
で指定されたディレクトリは
TMP
環境変数 -
プラットフォーム固有の場所。
-
オン
リスコス
で指定されたディレクトリは
Wimp$ScrapDir
環境変数 -
オン
Windows
に、ディレクトリ
C:\TEMP
,C:\TMP
,\TEMP
および\TMP
の順で表示されます。 -
他のすべてのプラットフォームでは、ディレクトリー
/tmp
,/var/tmp
および/usr/tmp
の順で表示されます。
-
オン
リスコス
で指定されたディレクトリは
- 最後の手段として、現在の作業ディレクトリを指定します。
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] 文字列フォーマット:% vs. .format vs. f-stringリテラル
-
[解決済み] ファイルの作成日時、変更日時を取得する方法
-
[解決済み] Pythonでホームディレクトリを取得するための正しいクロスプラットフォームな方法は何ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
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サンプルコード
-
python call matlab メソッドの詳細
-
python string splicing.join()とsplitting.split()の説明
-
Pythonによるjieba分割ライブラリ
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。