Come posso ottenere il proprietario e gli ID di gruppo di una directory usando Python su Linux?Come ottenere il proprietario e il gruppo di una cartella con Python su una macchina Linux?
risposta
Utilizzare os.stat()
per ottenere l'uid e il gid del file. Quindi, utilizzare pwd.getpwuid()
e grp.getgrgid()
per ottenere rispettivamente i nomi degli utenti e dei gruppi.
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
Io tendo ad usare os.stat:
Eseguire una chiamata di sistema stat sul percorso indicato. Il valore di ritorno è un oggetto i cui attributi corrispondono ai membri della struttura stat, vale a dire: st_mode (bit di protezione),
st_ino
(numero di inode),st_dev
(dispositivo),st_nlink
(numero di collegamenti rigidi),st_uid
(id utente di proprietario),st_gid
(gruppo id proprietario),st_size
(la dimensione del file, in byte),st_atime
(tempo dell'accesso più recente),st_mtime
(tempo di modifica più recente contenuto),st_ctime
(dipendente dalla piattaforma; tempo di più recente cambiamento dei metadati su Unix, o il tempo della creazione su Windows)
C'è un esempio al link per os.stat
sopra.
Utilizzare la funzione os.stat
.
Uso os.stat:
>>> s = os.stat('.')
>>> s.st_uid
1000
>>> s.st_gid
1000
st_uid
è l'ID utente del proprietario, st_gid
è l'ID di gruppo. Vedere la documentazione collegata per altre informazioni che possono essere ottenute tramite stat
.
Dal Python 3.4.4, la classe del modulo Path
pathlib
fornisce un bel sintassi per questo:
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. Elimina una cartella che ha perso il proprietario
- 2. Come cambio il proprietario di una cartella con Powershell quando Get-Acl restituisce "Accesso negato"?
- 3. Come ottenere il numero di core su una macchina con OCaml?
- 4. Il modo migliore per ottenere l'ID della macchina su linux?
- 5. Ottenere l'indirizzo IP esterno di una macchina con Python
- 6. Come installare english.pickle per nltk su una macchina Linux offline
- 7. Creazione di un archivio zip autoestraente su una macchina Linux
- 8. Come ottengo le mie specifiche CUDA su una macchina Linux?
- 9. ottiene l'e-mail predefinita dall'utente su una macchina Linux
- 10. Come eseguire il commit di una cartella su gitHub
- 11. Trovare il proprietario e il gruppo di un file (come stringa)
- 12. Ottenere risultato $ gruppo con il gruppo conta
- 13. Compilazione di gentoo-bionic su una macchina x86_64 linux
- 14. Creare una nuova cartella utilizzando il programma Java su macchine Windows e Linux
- 15. Cambia proprietario e gruppo in c
- 16. Usando la funzione stat di Python per ottenere in modo efficiente proprietario, il gruppo e altre autorizzazioni
- 17. Posso eseguire il Docker direttamente su una macchina non VT-X (nessuna macchina virtuale utilizzata)?
- 18. Come ottenere informazioni su un indice e proprietario di una tabella in Oracle?
- 19. Trova processo proprietario originale di una presa Linux
- 20. Qual è il modo più semplice per rilevare le pressioni dei tasti in python 3 su una macchina Linux?
- 21. Perché è utilizzato il comando alternativo quando si installa Java su una macchina Linux
- 22. Come determinare l'hardware (CPU e RAM) su una macchina?
- 23. Python Ottenere l'indirizzo IP della LAN della macchina su Ubuntu
- 24. Linux/opt/* cartella e permessi
- 25. Usa il file tar.gz come una cartella?
- 26. Python Wheels su Linux (come? E perché?)
- 27. Come impostare il permesso 777 su una particolare cartella?
- 28. Spostare il repository Nexus su una macchina diversa
- 29. Come modificare il proprietario per un rsync
- 30. Zip una cartella su