24

LinuxでPythonを使用してディレクトリの所有者IDとグループIDを取得するにはどうすればよいですか?

4

5 に答える 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(所有者のユーザーID)、st_gid(グループ所有者の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 に答える