首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中有没有一种可移植的方法来获取当前的用户名?

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

Stack Overflow用户
提问于 2009-05-08 22:20:20
回答 14查看 493.1K关注 0票数 690

在Python中有没有一种可移植的方法来获取当前用户的用户名(也就是说,至少可以在Linux和Windows下工作)。它会像os.getuid一样工作

代码语言:javascript
运行
复制
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'

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

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2009-05-08 22:30:51

看看getpass模块

代码语言:javascript
运行
复制
import getpass
getpass.getuser()
'kostya'

可用性: Unix、Windows

附注:Per comment below“此函数查看各种环境变量的值以确定用户名。因此,不应将此函数用于访问控制目的(或任何其他目的,因为它允许任何用户模拟任何其他目的)。”

票数 984
EN

Stack Overflow用户

发布于 2010-05-25 01:53:52

最好的方法是将os.getuid()pwd.getpwuid()结合使用

代码语言:javascript
运行
复制
import os
import pwd

def get_username():
    return pwd.getpwuid( os.getuid() )[ 0 ]

有关更多详细信息,请参阅pwd文档:

http://docs.python.org/library/pwd.html

票数 146
EN

Stack Overflow用户

发布于 2009-10-20 21:00:12

您还可以使用:

代码语言:javascript
运行
复制
 os.getlogin()
票数 107
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/842059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档