Python 用户的完整unix用户名

Python 用户的完整unix用户名,python,unix,Python,Unix,想知道是否有一种巧妙的方法可以从shell获取完整的用户名 示例:如果我的unix用户名是froyo,那么我想获取我的全名 在本例中,在系统中注册[froyo===Abhishek Pratap] finger命令可以执行此操作,但同时对所有登录用户执行。因此,需要进行一些分析才能获得正确的值。有更光滑的吗 任何来自python内部的东西都会很棒 谢谢! -Abhi实现这一点的一种方法是使用pwd.getpwuid和os.getuid: >>> import os >&g

想知道是否有一种巧妙的方法可以从shell获取完整的用户名

示例:如果我的unix用户名是froyo,那么我想获取我的全名 在本例中,在系统中注册[froyo===Abhishek Pratap]

finger命令可以执行此操作,但同时对所有登录用户执行。因此,需要进行一些分析才能获得正确的值。有更光滑的吗

任何来自python内部的东西都会很棒

谢谢!
-Abhi

实现这一点的一种方法是使用
pwd.getpwuid
os.getuid

>>> import os
>>> import pwd
>>> pwd.getpwuid(os.getuid())[4]

这是传统的Unix方式(基于标准的C库调用)。

这很管用……我知道python会有一些直截了当的东西。这不是python本身。它是标准的Unix C库,提供了
getpuid
getuid
函数。这些简单地暴露在Python
os
pwd
modules.ur right.对我来说,我想在Python env中得到下游使用的答案,所以这非常好用,尽管我们可以说它没有Python风格:)GECOS字段可以包含一些系统上逗号分隔的值列表,因此,您可能需要添加一个额外的
.split()
。Ubuntu和Debian将返回完整的用户名,其中有4个逗号,有时与数据交织在一起。若要对此进行颠覆,请使用:pwd.getpwuid(os.getuid())[4]。拆分(“,”)[0]