75

%APPDATA%Pythonでディレクトリへのパスを取得するにはどうすればよいですか?

4

5 に答える 5

134
import os
print os.getenv('APPDATA')
于 2012-11-01T19:52:40.080 に答える
30

os.path.expandvars(path)を使用できます:

環境変数を展開した引数を返します。$nameまたはの形式の部分文字列は、${name}環境変数名の値に置き換えられます。不正な形式の変数名と存在しない変数への参照は変更されません。

Windowsでは、と%name%に加えて拡張がサポートされています。$name${name}

これは、展開された値を他のパスコンポーネントと組み合わせるときに便利です。

例:

from os import path

sendto_dir = path.expandvars(r'%APPDATA%\Microsoft\Windows\SendTo')
dumps_dir = path.expandvars(r'%LOCALAPPDATA%\CrashDumps')
于 2018-09-27T10:01:14.713 に答える
10

質問はWindows固有のディレクトリについて明確に尋ねていますが、おそらくここで、OSによって異なる現在のユーザーのアプリケーションデータディレクトリを%APPDATA%取得するためのクロスプラットフォームソリューションを探していることになります。

Python 3.10の時点では、やや意外なことに、このディレクトリを見つけるための組み込み関数はありません。ただし、サードパーティのパッケージがあり、その中で最も人気があるのはappdirsのようです。これは、次のようなパスを取得する関数を提供します。

  • ユーザーデータディレクトリ(user_data_dir
  • user config dir(user_config_dir
  • ユーザーキャッシュディレクトリ(user_cache_dir
  • サイトデータディレクトリ(site_data_dir
  • site config dir(site_config_dir
  • ユーザーログディレクトリ(user_log_dir
于 2021-02-12T10:15:28.133 に答える
1

あなたはやってみることができます:

import os
path = os.getenv('APPDATA')
array = os.listdir(path)
print array
于 2017-12-02T18:40:19.140 に答える
0

と呼ばれるモジュールを使用できますappdata。これは、アプリのデータフォルダーなど、アプリケーションのさまざまなパスにアクセスするために開発されました。それをインストールします:

pip install appdata

その後、次のように使用できます。

from appdata import AppDataPaths
app_paths = AppDataPaths()
app_paths.app_data_path  # for your app data path
app_paths.logs_path  # for logs folder path for your application

これにより、アプリデータフォルダーとログフォルダーを取得できるだけでなく、構成ファイルのパスの管理など、パスを管理するための他の機能があります。そしてそれはカスタマイズ可能です。

リンク:

  1. ドキュメントを読む-ドキュメント。
  2. GitHub-ソースコード。
  3. PyPI-パッケージマネージャー(pip)。
于 2021-12-19T12:53:39.827 に答える