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

问题描述 投票:17回答:5

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

是否比发布ls ~login-name和检查退出代码要好?

如果在Windows下运行?

python username
5个回答
26
投票

此答案基于answer by 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.') 

9
投票

在Unix下查找我的用户ID(bagnew):

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

更多信息,请参见pwd模块信息。


2
投票

使用pwd,您可以使用pwd.getpwall()获得所有可用用户条目的列表。如果您不喜欢try:/ except:块,则可以使用。

import pwd

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

0
投票

我将解析/ etc / passwd以获取相关的用户名。用户可能不一定具有homedir。


-1
投票

类似于this answer,我会这样做:

>>> import pwd
>>> 'tshepang' in [entry.pw_name for entry in pwd.getpwall()]
True
© www.soinside.com 2019 - 2024. All rights reserved.