有没有一种可移植的方式来获取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下面的注释“此函数查看各种环境变量的值以确定用户名,因此,不应将此函数用于访问控制目的(或可能用于任何其他目的,因为它允许任何用户模拟其他任何用户)“。
你最好打赌将os.getuid()
与pwd.getpwuid()
结合起来:
import os
import pwd
def get_username():
return pwd.getpwuid( os.getuid() )[ 0 ]
有关更多详细信息,请参阅pwd文档:
http://docs.python.org/library/pwd.html
你也可以使用:
os.getlogin()
链接地址: http://www.djcxy.com/p/2241.html
上一篇: Is there a portable way to get the current username in Python?
下一篇: What is the difference between concurrent programming and parallel programming?