如何在Linux下使用Python獲取目錄的所有者和組ID?如何在Linux機器上使用Python獲取文件夾的所有者和組?
11
A
回答
28
使用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
0
我傾向於使用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
上有一個示例。
0
使用os.stat
函數。
0
使用os.stat:
>>> s = os.stat('.')
>>> s.st_uid
1000
>>> s.st_gid
1000
st_uid
是所有者的用戶ID,st_gid
是組ID。請參閱鏈接文檔以獲取可通過stat
激活的其他信息。
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())
相關問題
- 1. 如何使用C++在Linux中獲取文件的所有者名稱?
- 2. C#從Linux文件獲取文件所有者文件
- 3. 使用Ant在Windows上獲取文件所有者
- 4. 如何獲取其父文件夾的所有文件夾ID?
- 5. 如何在OSX上使用Java獲取文件所有者的名稱?
- 6. 如何獲取在Linux WebDav上部署的文件夾和文件列表?
- 7. 如何使用javascript_include_tag獲取文件夾中的所有腳本
- 8. 如何使用MATLAB獲取文件夾內的所有圖像?
- 9. 如何使用C++獲取文件夾中的所有圖像
- 10. Linux如何刪除組中的所有文件和文件夾Contoso
- 11. 使用Putty從Linux機器上獲取文件
- 12. 獲取文件所有者/作者
- 13. 如何獲取驅動器中的所有文件夾?
- 14. 文件夾所有者和LocalSystem
- 15. BitBucket獲取帳戶所有者給定的文件夾與Git
- 16. 使用C#獲取文件夾中的所有文件名
- 17. 如何獲取在資源「res」文件夾中的文件夾中的所有文件名的數組
- 18. 如何獲取使用Visual C++的文件夾中的所有文件名?
- 19. 使用find來獲取所有沒有.git子文件夾的文件夾
- 20. 如何獲取同一文件夾中的所有.pdb文件?
- 21. 如何獲取文件夾內的所有文件?
- 22. Java - 如何獲取文件夾中的所有文件名
- 23. 如何獲取Java文件夾中的所有文件
- 24. 在Windows和Linux機器上使用Java程序創建新文件夾
- 25. Ruby Loop在Linux機器上的所有主目錄中獲取所有文件(Inspec/Chef Work)
- 26. 如何使用gremlin獲取一個文件夾下的所有文件名?
- 27. 如何使用Ruby獲取一個文件夾中的所有文件名?
- 28. 如何使用jQuery獲取目錄或文件夾中的所有文件名?
- 29. Linux - QNAP - 無法更改文件夾的所有者
- 30. 在SAS中,如何獲取文件所在的文件夾?