Module shutil, python 3 pentru începători și manechine

Modulul shutil conține un set de funcții la nivel înalt pentru procesarea fișierelor, grupurilor de fișiere și a dosarelor. În particular, funcțiile disponibile aici vă permit să copiați, să mutați și să ștergeți fișiere și foldere. Adesea utilizat împreună cu modulul os.







Operații asupra fișierelor și directoarelor

În acest caz, în cazul în care indicatorul de poziție FSRC nu este 0 (adică, până când acest lucru a fost făcut ceva de genul fsrc.read (47)), conținutul va fi copiat din poziția curentă, mai degrabă decât de la începutul fișierului.

Dacă src și dst sunt același fișier, excepția este shutil.SameFileError.

Dacă dst există, va fi suprascris.

Directorul dst nu ar trebui să existe. Acesta va fi creat, împreună cu directoarele părinte lipsă.

Dacă este False (implicit), conținutul și metadatele fișierelor la care se face referire sunt copiate.

Puteți seta drapelul ignore_dangling_symlinks = True. pentru a ascunde această eroare.

shutil.rmtree (cale, ignore_errors = False, onerror = None) - șterge directorul curent și toate subdirectoarele; calea trebuie să indice un director, nu un link simbolic.

Dacă ignore_errors = True. atunci erorile care apar ca urmare a ștergerii nereușite vor fi ignorate. Dacă sunt false (în mod implicit), aceste erori vor fi transmise operatorului onerror. sau, dacă nu este, atunci o excepție.

Pe sistemul de operare, care suportă funcții bazate pe descriptori de fișiere, versiunea implicită este rmtree (). Nu este vulnerabil la atacurile asupra legăturilor simbolice.

Pentru a verifica dacă sistemul este vulnerabil la astfel de atacuri, puteți folosi atributul rmtree.avoids_symlink_attacks.

Dacă este specificată o eroare. aceasta ar trebui să fie o funcție cu 3 parametri: funcție. calea. excinfo.







Primul parametru, funcție. Aceasta este funcția care a creat excepția; depinde de platformă și de interpret. Al doilea parametru, calea. aceasta este calea trecută la funcție. Al treilea parametru, excinfo, este informația de excepție returnată de sys.exc_info (). Excepții cauzate de onerror. nu a fost procesată.

Dacă dst este un director existent, atunci src se mută în interiorul directorului. Dacă există dst, dar nu un director, atunci acesta poate fi suprascris.

shutil.disk_usage (cale) - returnează statisticile de utilizare a spațiului de disc ca namedtuple cu arbiturile totale, utilizate și libere, în octeți.

shutil.chown (cale, user = None, group = None) - modifică proprietarul și / sau grupul fișierului sau directorului.

shutil.which (cmd, modul = os.F_OK | os.X_OK, calea = Nici unul) - returnează calea către fișierul executabil pe o anumită comandă. Dacă nu există niciun fel de potrivire pentru orice fișier, atunci Nici unul. mode este drepturile de acces necesare din fișier, în mod implicit se referă numai la executabile.

Funcții la nivel înalt pentru crearea și citirea fișierelor arhivate și comprimate. Ele se bazează pe funcții din modulele zipfile și tarfile.

shutil.make_archive (base_name, format [, ROOT_DIR [, base_dir [, verbose [, dry_run [, proprietar [, grup [, logger]]]]]]]) - creează un fișier și returnează numele său.

base_name este numele fișierului de creat, inclusiv calea, dar nu include extensiile (nu este nevoie să scrieți ".zip", etc.).

format - format de arhivă.

root_dir - director (relativ la cel curent), pe care îl arhivăm.

base_dir - directorul care va fi arhivat (adică toate fișierele din arhivă vor fi în acest dosar).

Dacă dry_run = Adevărat. Arhiva nu va fi creată, dar operațiile care ar fi trebuit să fie efectuate vor fi înregistrate în logger.

proprietarul și grupul sunt utilizate la crearea unei arhive de tar.

shutil.get_archive_formats () - lista formatelor disponibile pentru arhivare.

shutil.unpack_archive (numele fișierului [extract_dir [, format]]) - despachetează arhiva. numele fișierului - calea completă spre arhivă.

extract_dir este locul în care conținutul va fi preluat (implicit este cel curent).

format - formatul arhivei (în mod implicit încearcă să ghicească prin extensia fișierului).

shutil.get_unpack_formats () - lista formatelor disponibile pentru decompresie.

Cereți dimensiunea terminalului de ieșire

shutil.get_terminal_size (fallback = (coloane, linii)) - returnează dimensiunea ferestrei terminalelor.

dacă nu se poate determina mărimea terminalului (terminalul nu acceptă astfel de cereri sau programul funcționează fără terminal). Valoarea implicită este (80, 24).







Trimiteți-le prietenilor: