Python Directory og Files Management

I denne opplæringen lærer du om fil- og katalogadministrasjon i Python, dvs. opprette en katalog, gi nytt navn til den, liste opp alle kataloger og jobbe med dem.

Video: Python os-modul

Python Directory

Hvis det er et stort antall filer å håndtere i vårt Python-program, kan vi ordne koden vår i forskjellige kataloger for å gjøre ting mer håndterbare.

En katalog eller mappe er en samling av filer og underkataloger. Python har osmodulen som gir oss mange nyttige metoder for å jobbe med kataloger (og filer også).

Få aktuell katalog

Vi kan få den nåværende arbeidskatalogen ved hjelp av getcwd()metoden til osmodulen.

Denne metoden returnerer den gjeldende arbeidskatalogen i form av en streng. Vi kan også bruke getcwdb()metoden for å få den som byteobjekt.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

Ekstra tilbakeslag innebærer en rømningssekvens. Den print()funksjonen vil gjøre dette riktig.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Endrer katalog

Vi kan endre den nåværende arbeidskatalogen ved å bruke chdir()metoden.

Den nye banen vi ønsker å endre til, må leveres som en streng til denne metoden. Vi kan bruke både skråstrek /eller bakover skråstrek for å skille stielementene.

Det er tryggere å bruke en rømningssekvens når du bruker skråstrek bakover.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Liste kataloger og filer

Alle filer og underkataloger i en katalog kan hentes ved hjelp av listdir()metoden.

Denne metoden tar inn en bane og returnerer en liste over underkataloger og filer i den banen. Hvis ingen sti er spesifisert, returnerer den listen over underkataloger og filer fra gjeldende arbeidskatalog.

 >>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')

Lage en ny katalog

Vi kan lage en ny katalog ved hjelp av mkdir()metoden.

Denne metoden går i banen til den nye katalogen. Hvis hele banen ikke er spesifisert, opprettes den nye katalogen i gjeldende arbeidskatalog.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Gi nytt navn til en katalog eller en fil

Den rename()metoden kan endre navnet på en katalog eller en fil.

For å gi nytt navn til en katalog eller fil, tar rename()metoden inn to grunnleggende argumenter: det gamle navnet som det første argumentet og det nye navnet som det andre argumentet.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Fjerner katalog eller fil

En fil kan fjernes (slettes) ved hjelp av remove()metoden.

Tilsvarende rmdir()fjerner metoden en tom katalog.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Merk : rmdir()Metoden kan bare fjerne tomme kataloger.

For å fjerne en ikke-tom katalog, kan vi bruke rmtree()metoden inne i shutilmodulen.

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

Interessante artikler...