是否有一种可移植的方式在 Python 中获取当前用户的用户名(即,至少在 Linux 和 Windows 下都可以使用)。它会像这样工作os.getuid:
os.getuid
>>> os.getuid() 42 >>> os.getusername() 'slartibartfast'
我四处搜索,很惊讶没有找到明确的答案(尽管也许我只是在谷歌上搜索得不好)。pwd模块提供了一种相对简单的方法来实现这一点,比如在 Linux 下,但它在 Windows 上不存在。一些搜索结果表明,在某些情况下(例如,作为 Windows 服务运行),在 Windows 下获取用户名可能会很复杂,尽管我尚未对此进行验证。
查看getpass模块
import getpass getpass.getuser() 'kostya'
可用性:Unix、Windows
ps 根据下面的评论“ 此函数查看各种环境变量的值以确定用户名。因此,不应依赖此函数用于访问控制目的(或可能任何其他目的,因为它允许任何用户冒充任何其他)。 ”