如何使用Python检查GNU/Linux系统中用户是否存在?

24 投票
5 回答
18649 浏览
提问于 2025-04-15 21:00

在GNU/Linux操作系统中,使用Python检查一个用户是否存在的最简单方法是什么?

有没有比输入ls ~login-name然后查看返回结果更好的方法?

如果是在Windows系统下呢?

5 个回答

5

你可以使用pwd这个模块来获取所有可用用户的信息,方法是使用pwd.getpwall()。如果你不喜欢使用try:/except:这种错误处理方式,这个方法会很有效。

import pwd

username = "zomobiba"
usernames = [x[0] for x in pwd.getpwall()]
if username in usernames:
    print("Yay")
10

要在Unix系统中查找我的用户ID(bagnew),可以使用以下方法:

import pwd
pw = pwd.getpwnam("bagnew")
uid = pw.pw_uid

想了解更多,可以查看pwd模块的信息。

43

这个回答是基于Brian的回答的。它增加了必要的try...except代码块。

检查用户是否存在:

import pwd

try:
    pwd.getpwnam('someusr')
except KeyError:
    print('User someusr does not exist.')

检查组是否存在:

import grp

try:
    grp.getgrnam('somegrp')
except KeyError:
    print('Group somegrp does not exist.') 

撰写回答