如何在Linux机器上用Python获取文件夹的所有者和组?
我怎么能在Linux下用Python获取一个目录的拥有者和组的ID呢?
6 个回答
1
使用 os.stat:
>>> s = os.stat('.')
>>> s.st_uid
1000
>>> s.st_gid
1000
st_uid
是文件拥有者的用户 ID,st_gid
是文件所属的组 ID。想了解更多通过 stat
可以获取的信息,可以查看上面的文档。
13
从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())
47
使用 os.stat()
这个函数可以获取文件的用户ID(uid)和组ID(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