Hvordan at få ejer og gruppe en mappe med Python på en Linux-maskine?

Hvordan kan jeg få ejer og gruppe-id ‘ er for en mappe ved hjælp af Python under Linux?

OriginalForfatteren dan | 2009-05-29

5 svar

  1. 30

    Bruge os.stat() at få uid-og gid-af filen. Derefter, brug pwd.getpwuid() og grp.getgrgid() at få bruger-og gruppe-navne hhv.

    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

    OriginalForfatteren Ayman Hourieh

  2. 2

    Da Python 3.4.4, Path klasse af pathlib modul giver en pæn syntaks til dette:

    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())

    OriginalForfatteren loxaxs

  3. 0

    Jeg har en tendens til at bruge os.stat:

    Udføre en stat systemet kalder på den givne vej. Den returnerede værdi er et objekt, hvis egenskaber svarer til de medlemmer af den statistiske struktur, nemlig: st_mode (beskyttelse bits), st_ino (inode nummer), st_dev (enhed), st_nlink (antallet af hårde links), st_uid (bruger-id for ejeren), st_gid (gruppe-id for ejeren), st_size (filens størrelse (i byte), st_atime (tidspunkt for seneste adgang), st_mtime (tidspunkt for seneste indhold ændring), st_ctime (platform-afhængig; tidspunktet for seneste ændring i metadata på Unix, eller tidspunkt for oprettelse på Windows)

    Der er et eksempel på link til os.stat ovenfor.

    OriginalForfatteren Jarret Hardie

  4. 0

    Bruge os.stat:

    >>> s = os.stat('.')
    >>> s.st_uid
    1000
    >>> s.st_gid
    1000

    st_uid er det bruger-id for ejeren, st_gid er gruppe-id ‘ et. Se linket dokumentation for andre oplysninger, der kan være acuired gennem stat.

    OriginalForfatteren Stephan202

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *