Czy istnieje przenośny sposób na uzyskanie nazwy użytkownika bieżącego użytkownika w Pythonie (tj. Takiej, która działa przynajmniej pod Linuksem i Windows). Działa to tak os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Gogłem w kółko i byłem zaskoczony, że nie znalazłem ostatecznej odpowiedzi (chociaż być może po prostu źle googlowałem). Pwd Moduł zapewnia stosunkowo łatwy sposób, aby osiągnąć to pod, powiedzmy, Linux, ale nie jest obecny w systemie Windows. Niektóre wyniki wyszukiwania sugerowały, że uzyskanie nazwy użytkownika w systemie Windows może być skomplikowane w pewnych okolicznościach (np. Działanie jako usługa systemu Windows), chociaż tego nie zweryfikowałem.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
lubimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name