Existe uma maneira portátil de obter o nome de usuário do usuário atual em Python (ou seja, um que funcione no Linux e no Windows, pelo menos). Funcionaria como os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Eu pesquisei e fiquei surpreso por não encontrar uma resposta definitiva (embora talvez eu estivesse apenas pesquisando mal). O módulo pwd fornece uma maneira relativamente fácil de conseguir isso no Linux, por exemplo, mas não está presente no Windows. Alguns dos resultados da pesquisa sugeriram que a obtenção do nome de usuário no Windows pode ser complicada em determinadas circunstâncias (por exemplo, executando como um serviço do Windows), embora eu não tenha verificado isso.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
ouimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name