1. ホーム
  2. パイソン

[解決済み】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

念のため、ドキュメントによると、一時ディレクトリを検索する方法は次のとおりです。

  1. で指定されたディレクトリは TMPDIR 環境変数
  2. で指定されたディレクトリは TEMP 環境変数
  3. で指定されたディレクトリは TMP 環境変数
  4. プラットフォーム固有の場所。
    • オン リスコス で指定されたディレクトリは Wimp$ScrapDir 環境変数
    • オン Windows に、ディレクトリ C:\TEMP , C:\TMP , \TEMP および \TMP の順で表示されます。
    • 他のすべてのプラットフォームでは、ディレクトリー /tmp , /var/tmp および /usr/tmp の順で表示されます。
  5. 最後の手段として、現在の作業ディレクトリを指定します。