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 os
modulen 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 os
modulen.
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 shutil
modulen.
>>> 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() ()