如何在Linux机器上使用Python获取文件夹的所有者和组?

如何在Linux下使用Python获取目录的所有者和组ID?

Solutions Collecting From Web of "如何在Linux机器上使用Python获取文件夹的所有者和组?"

使用os.stat()来获取文件的uid和gid。 然后,分别使用pwd.getpwuid()grp.getgrgid()来获取用户名和组名。

 import grp import pwd import os stat_info = os.stat('/path') uid = stat_info.st_uid gid = stat_info.st_gid print uid, gid user = pwd.getpwuid(uid)[0] group = grp.getgrgid(gid)[0] print user, group 

从Python 3.4.4开始, pathlib模块的Path类提供了一个很好的语法:

 from pathlib import Path whatever = Path("relative/or/absolute/path/to_whatever") if whatever.exists(): print("Owner: %s" % whatever.owner()) print("Group: %s" % whatever.group()) 

我倾向于使用os.stat :

在给定的路径上执行统计系统调用。 返回值是属性对应于stat结构成员的对象,即:st_mode(保护位), st_ino (inode编号), st_dev (设备), st_nlink (硬链接数), st_uid (所有者的用户标识), st_gid (所有者的组ID)st_size (文件的大小,以字节为单位), st_atime (最近访问的时间), st_mtime (最近的内容修改的时间), st_ctime (取决于平台;最近的元数据改变的时间在Unix上,或在Windows上创建的时间)

在上面的os.stat的链接中有一个例子。

使用os.stat函数。

使用os.stat :

 >>> s = os.stat('.') >>> s.st_uid 1000 >>> s.st_gid 1000 

st_uid是所有者的用户标识, st_gid是组标识。 查看链接的文档,了解可以通过stat其他信息。