Как я могу получить идентификатор владельца и группы в каталоге с помощью Python под Linux?
Как получить владельца и группу папки с Python на машине Linux?
Ответ 1
Используйте 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
Ответ 2
Так как 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())
Ответ 3
Я предпочитаю использовать os.stat:
Выполните системный вызов stat по данному пути. Возвращаемое значение - это объект, атрибуты которого соответствуют членам структуры stat, а именно: st_mode (бит защиты),
st_ino
(номер inode),st_dev
(устройство),st_nlink
(количество жестких ссылок),st_uid
(идентификатор пользователя владельца),st_gid
(идентификатор группы владельца),st_size
(размер файла, в байтах),st_atime
(время последнего доступа)st_mtime
(время последней модификации содержимого),st_ctime
(зависит от платформы, время последнего изменения метаданных в Unix или время создания в Windows)
Вот пример ссылки на os.stat
выше.
Ответ 4
Используйте функцию os.stat
.
Ответ 5
Используйте os.stat:
>>> s = os.stat('.')
>>> s.st_uid
1000
>>> s.st_gid
1000
st_uid
является идентификатором пользователя владельца, st_gid
является идентификатором группы. См. Связанную документацию для получения другой информации, которая может быть обработана с помощью stat
.