Skip to content

Instantly share code, notes, and snippets.

@diyan
Created December 12, 2012 16:04
Show Gist options
  • Save diyan/4268997 to your computer and use it in GitHub Desktop.
Save diyan/4268997 to your computer and use it in GitHub Desktop.
Get full name of current logged user in Windows/Linux/Mac OS X.
import os
def get_user_name():
if os.name == 'nt':
import ctypes
GetUserNameExW = ctypes.windll.secur32.GetUserNameExW
name_display = 3
size = ctypes.pointer(ctypes.c_ulong(0))
GetUserNameExW(name_display, None, size)
name_buffer = ctypes.create_unicode_buffer(size.contents.value)
GetUserNameExW(name_display, name_buffer, size)
return name_buffer.value
else:
import pwd
# Note that for some reason pwd.getpwuid(os.geteuid())[4] did not work for me
display_name = (entry[4] for entry in pwd.getpwall() if entry[2] == os.geteuid()).next()
return display_name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment