Apakah ada cara portabel untuk mendapatkan nama pengguna pengguna saat ini dalam Python (yaitu, yang bekerja di Linux dan Windows, setidaknya). Ini akan bekerja seperti os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
Saya mencari di sekitar dan terkejut tidak menemukan jawaban yang pasti (meskipun mungkin saya hanya googling buruk). The pwd modul menyediakan cara yang relatif mudah untuk mencapai di bawah ini, mengatakan, Linux, tetapi tidak hadir pada Windows. Beberapa hasil pencarian menyarankan agar mendapatkan nama pengguna di Windows dapat menjadi rumit dalam keadaan tertentu (misalnya, berjalan sebagai layanan Windows), meskipun saya belum memverifikasi itu.
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
atauimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name