Как установить путь к файлу для текущего пользователя? - PullRequest
5 голосов
/ 05 января 2012

Прямо сейчас для пути к каталогу у меня есть:

os.chdir(r'C:\users\Ryan\AppData\Local\Google\Chrome\Application')

Как мне сделать так, чтобы вместо «Райан» он использовал имя пользователя, использующего скрипт?

Ответы [ 2 ]

6 голосов
/ 05 января 2012

Взгляните на expanduser из os.path:

os.path.expanduser(path)

В Unix и Windows верните аргумент с начальным компонентом ~ или ~ user, замененным домашним каталогом этого пользователя.

[..]

В Windows будут использоваться HOME и USERPROFILE, если они установлены, иначе будет использоваться комбинация HOMEPATH и HOMEDRIVE. Начальный пользователь обрабатывается путем удаления последнего компонента каталога из созданного путь пользователя, полученный выше.

Если расширение не удается или путь не начинается с тильды, путь возвращается без изменений.

0 голосов
/ 05 января 2012

Вы можете получить путь с заменой "Ryan" на имя текущего пользователя, используя следующий код:

import getpass
path_tpl = 'C:\users\{}\AppData\Local\Google\Chrome\Application'
path = path_tpl.format(getpass.getuser())

Но вы, вероятно, должны основывать свою реализацию на данных, которые вы извлекаете из реестра Windows - это более надежно, и указанный выше путь будет работать только в Windows ...

...