¿Hay alguna forma portátil de obtener el nombre de usuario del usuario actual en Python (es decir, una que funcione tanto en Linux como en Windows, al menos)? Funcionaría como os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Busqué en Google y me sorprendió no encontrar una respuesta definitiva (aunque quizás solo estaba buscando en Google mal). El módulo pwd proporciona una forma relativamente fácil de lograr esto en, por ejemplo, Linux, pero no está presente en Windows. Algunos de los resultados de búsqueda sugirieron que obtener el nombre de usuario en Windows puede ser complicado en ciertas circunstancias (por ejemplo, ejecutarse como un servicio de Windows), aunque no lo he verificado.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
oimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name