有没有一种可移植的方式来获取Python中当前用户的用户名(即,至少在Linux和Windows下都可以使用的用户名)。它会像这样工作os.getuid
:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
我四处搜寻,很惊讶地没有找到一个明确的答案(尽管也许我只是在谷歌搜索方面很差)。该PWD模块提供了一个相对简单的方法来实现这一目标下,说,Linux的,但它不存在于Windows。一些搜索结果表明,在某些情况下(例如,作为Windows服务运行),在Windows下获取用户名可能会很复杂,尽管我尚未对此进行验证。
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
或import pwd, os; print pwd.getpwuid(os.getuid()).pw_name