使用 psutil 库在 linux 系统中获取用户名(人,而不是应用程序)

Get name of users(persons, not applications) in linux system using psutil library

我正在尝试使用 psutil 库让用户登录 linux 系统。

为此我使用了函数 psutil.users()

>>> import psutil
>>> psutil.users()
[suser(name='vibhcool', terminal='tty2',host='localhost',started=1473815296.0)]

我想从此列表中提取用户名,我该怎么做? 还有这里的 suser 是什么?

我得到了答案,(对不起,我不擅长谷歌搜索)

psutil.users()输出一个列表,所以可以用for循环遍历

users = psutil.users()
    for user in users:
        print(user.name)

参考:http://www.programcreek.com/python/example/53877/psutil.users

我不知道他们为什么选择这个名字 suser,但它实际上是一个 namedtuple。

没关系,你得到的用户名是这样的:

>>> import psutil
>>> users = psutil.users()
>>> first_user = users[0]
>>> name = first_user.name
>>> print(name)
'vibhcool'

简而言之:

>>> import psutil
>>> print(psutil.users()[0].name)
'vibhcool'

这不是最安全的做法,但是:

users_name = [user[0] for user in psutil.users()]