如何使用Python检查GNU/Linux系统中用户是否存在?
在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.')