Как я могу получить путь к каталогу%APPDATA% в Python?

Как я могу получить путь к %APPDATA% каталог в Python?

6 ответов

Решение
import os
print os.getenv('APPDATA')

Вы можете использовать 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

Он позволяет получить не только папку данных приложения и папку журналов, но и другие функции для управления путями, например, управление путями файлов конфигурации. И это настраивается.

Ссылки:

  1. Прочтите Документы - документация.
  2. Гитхаб — исходный код.
  3. PyPI — менеджер пакетов (pip).

Я распечатал эту страницу и благодарен за это. Также попытался настроить "%APPDATA%" в этом диспозитиве, используя: "блокнот", не зная, как заархивировать предложенную конфигурацию. Также скопированы авторы sotoz и Aomine. спасибо

efk14it.

Другие вопросы по тегам