В на той же странице руководства :
pwd.getpwnam(name)
Возвращает запись базы данных паролей для данного имени пользователя.
Thisэто результат для существующего и несуществующего пользователя:
>>> import pwd
>>> pwd.getpwnam('root')
pwd.struct_passwd(pw_name='root', pw_passwd='*', pw_uid=0, pw_gid=0, pw_gecos='System Administrator', pw_dir='/var/root', pw_shell='/bin/sh')
>>> pwd.getpwnam('invaliduser')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'getpwnam(): name not found: invaliduser'
Поэтому вы можете сделать:
try:
pwd.getpwnam(name)
except KeyError:
# Handle non existent user
pass
else:
# Handle existing user
pass
Примечание: оператор in
в любом случае выполнит цикл, чтобы проверить, еслиданный предмет находится в списке ( ref ).