一尘不染

有没有一种可移植的方法来获取Python中的当前用户名?

python

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

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

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


阅读 323

收藏
2020-02-14

共1个答案

一尘不染

看一下getpass模块

import getpass
getpass.getuser()
'kostya'

可用性:Unix,Windows

ps每个注释下面的注释“ 该功能查看各种环境变量的值以确定用户名。因此,不应出于访问控制目的(或可能出于任何其他目的)依赖此功能,因为它允许任何用户模仿任何其他方式)。 “

2020-02-14