在Python中获取当前用户名的便携方法是什么?
有没有一种可以在Linux和Windows上都能用的方法,来获取当前用户的用户名?类似于os.getuid()
这样的方式就很好:
>>> os.getuid()
42
# Does not currently exist in Python
>>> os.getusername()
'slartibartfast'
pwd
模块只适用于Unix系统。有些人提到,在某些情况下(比如以Windows服务的身份运行时),获取Windows下的用户名可能会比较复杂。
15 个回答
131
你还可以使用:
os.getlogin()
173
把 os.getuid()
和 pwd.getpwuid()
结合起来使用:
import os
import pwd
def get_username():
return pwd.getpwuid(os.getuid())[0]
想了解更多细节,可以查看 pwd
的文档。
1075
可以看看 getpass
模块
import getpass
getpass.getuser()
'kostya'
适用系统:Unix, Windows
补充说明:根据下面的评论 "这个函数会查看各种环境变量的值来确定用户名。因此,不应该依赖这个函数来进行访问控制(或者其他任何目的,因为它允许任何用户冒充其他用户)。"