如何在 Linux 下使用 Python 获取目录的所有者和组 ID?
问问题
25713 次
5 回答
42
用于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
于 2009-05-29T20:10:40.077 回答
8
从 Python 3.4.4 开始,模块Path
类pathlib
为此提供了很好的语法:
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())
于 2016-04-11T10:38:07.940 回答
1
使用os.stat:
>>> s = os.stat('.')
>>> s.st_uid
1000
>>> s.st_gid
1000
st_uid
是所有者的用户ID,st_gid
是组ID。有关可以通过 获取的其他信息,请参阅链接文档stat
。
于 2009-05-29T20:13:19.323 回答
0
我倾向于使用os.stat:
在给定路径上执行 stat 系统调用。返回值是一个对象,其属性对应于stat结构的成员,即:st_mode(保护位),
st_ino
(inode编号),st_dev
(设备),st_nlink
(硬链接数),st_uid
(user id of owner),st_gid
(group所有者的 ID),st_size
(文件大小,以字节为单位),st_atime
(最近访问st_mtime
时间),(最近内容修改时间),st_ctime
(平台相关;Unix 上最近元数据更改的时间,或创建时间视窗)
上面的链接中有一个示例os.stat
。
于 2009-05-29T20:09:52.827 回答
0
使用该os.stat
功能。
于 2009-05-29T20:10:30.140 回答