How can I get the path to the %APPDATA% directory in Python?
How can I get the path to the %APPDATA%
directory in Python?
import os
print os.getenv('APPDATA')
You may use os.path.expandvars(path):
Return the argument with environment variables expanded. Substrings of the form
$name
or${name}
are replaced by the value of environment variable name. Malformed variable names and references to non-existing variables are left unchanged.On Windows,
%name%
expansions are supported in addition to$name
and${name}
.
This comes handy when combining the expanded value with other path components.
Example:
from os import path
sendto_dir = path.expandvars(r'%APPDATA%\Microsoft\Windows\SendTo')
dumps_dir = path.expandvars(r'%LOCALAPPDATA%\CrashDumps')
Although the question clearly asks about the Windows-specific %APPDATA%
directory, perhaps you have ended up here looking for a cross-platform solution for getting the application data directory for the current user, which varies by OS.
As of Python 3.10, somewhat surprisingly, there is no built-in function to find this directory. However, there are third-party packages, the most popular of which seems to be appdirs, which provides functions to retrieve paths such as:
- user data dir (
user_data_dir
) - user config dir (
user_config_dir
) - user cache dir (
user_cache_dir
) - site data dir (
site_data_dir
) - site config dir (
site_config_dir
) - user log dir (
user_log_dir
)
You can try doing:
import os
path = os.getenv('APPDATA')
array = os.listdir(path)
print array