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