Is there a portable way to get the current username in Python?
Есть ли переносимый способ получить текущее имя пользователя в Python?
Какой переносимый способ (например, для Linux и Windows) получить имя пользователя текущего пользователя? Что-то похожее на os.getuid() было бы неплохо:
>>> os.getuid() 42
# Does not currently exist in Python >>> os.getusername() 'slartibartfast'
Модуль pwd работает только для Unix. Некоторые люди предполагают, что получение имени пользователя в Windows может быть сложным при определенных обстоятельствах (например, при запуске в качестве службы Windows).
p.s. Согласно комментарию ниже "эта функция просматривает значения различных переменных среды для определения имени пользователя. Следовательно, на эту функцию не следует полагаться в целях контроля доступа (или, возможно, для любых других целей, поскольку она позволяет любому пользователю выдавать себя за любого другого)."
Обратите внимание, что переменные среды могут быть изменены пользователем, так что это потенциальная уязвимость в системе безопасности. С помощью этого метода злоумышленник может легко подделать свое имя пользователя.