小编典典

是否有一种可移植的方式来获取 Python 中的当前用户名?

all

是否有一种可移植的方式在 Python 中获取当前用户的用户名(即,至少在 Linux 和 Windows
下都可以使用)。它会像这样工作os.getuid

>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'

我四处搜索,很惊讶没有找到明确的答案(尽管也许我只是在谷歌上搜索得不好)。pwd模块提供了一种相对简单的方法来实现这一点,比如在 Linux 下,但它在 Windows
上不存在。一些搜索结果表明,在某些情况下(例如,作为 Windows 服务运行),在 Windows 下获取用户名可能会很复杂,尽管我尚未对此进行验证。


阅读 104

收藏
2022-03-03

共1个答案

小编典典

查看getpass模块

import getpass
getpass.getuser()
'kostya'

可用性:Unix、Windows


ps 根据下面的评论“
此函数查看各种环境变量的值以确定用户名。因此,不应依赖此函数用于访问控制目的(或可能任何其他目的,因为它允许任何用户冒充任何其他)。

2022-03-03