Существует ли портативный способ получить имя пользователя текущего пользователя в Python (т. Е. Тот, который работает как в Linux, так и в Windows, по крайней мере). Это будет работать так os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Я гуглил вокруг и был удивлен, что не нашел окончательного ответа (хотя, возможно, я просто плохо гуглил). Модуль pwd обеспечивает относительно простой способ достижения этого, скажем, в Linux, но его нет в Windows. Некоторые результаты поиска показали, что получение имени пользователя в Windows может быть сложным в определенных обстоятельствах (например, запуск в качестве службы Windows), хотя я этого не проверял.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
илиimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name