Как я могу получить путь к каталогу%APPDATA% в Python?
Как я могу получить путь к %APPDATA%
каталог в Python?
6 ответов
Вы можете использовать os.path.expandvars(путь):
Вернуть аргумент с расширенными переменными среды. Подстроки формы
$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')
Хотя вопрос явно касается специфичных для Windows
%APPDATA%
directory, возможно, вы оказались здесь в поисках кроссплатформенного решения для получения каталога данных приложения для текущего пользователя, который зависит от ОС.
Как ни странно, в Python 3.10 нет встроенной функции для поиска этого каталога. Однако существуют сторонние пакеты, наиболее популярными из которых являются appdirs, предоставляющие функции для получения таких путей, как:
- каталог пользовательских данных (
user_data_dir
) - каталог конфигурации пользователя (
user_config_dir
) - каталог пользовательского кеша (
user_cache_dir
) - каталог данных сайта (
site_data_dir
) - каталог конфигурации сайта (
site_config_dir
) - каталог пользовательского журнала (
user_log_dir
)
Вы можете попробовать сделать:
import os
path = os.getenv('APPDATA')
array = os.listdir(path)
print array
Вы можете использовать модуль под названием
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
Он позволяет получить не только папку данных приложения и папку журналов, но и другие функции для управления путями, например, управление путями файлов конфигурации. И это настраивается.
Ссылки:
- Прочтите Документы - документация.
- Гитхаб — исходный код.
- PyPI — менеджер пакетов (pip).
Я распечатал эту страницу и благодарен за это. Также попытался настроить "%APPDATA%" в этом диспозитиве, используя: "блокнот", не зная, как заархивировать предложенную конфигурацию. Также скопированы авторы sotoz и Aomine. спасибо
efk14it.