Python Directory og Files Management

I denne vejledning lærer du om fil- og biblioteksadministration i Python, dvs. at oprette en mappe, omdøbe den, angive alle mapper og arbejde med dem.

Video: Python os-modul

Python Directory

Hvis der er et stort antal filer, der skal håndteres i vores Python-program, kan vi arrangere vores kode i forskellige mapper for at gøre tingene mere håndterbare.

En mappe eller mappe er en samling af filer og underkataloger. Python har osmodulet, der giver os mange nyttige metoder til at arbejde med mapper (og filer også).

Hent aktuelt bibliotek

Vi kan få den nuværende arbejdsmappe ved hjælp af getcwd()metoden til osmodulet.

Denne metode returnerer den aktuelle arbejdsmappe i form af en streng. Vi kan også bruge getcwdb()metoden til at få den som bytes-objekt.

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

Den ekstra tilbageslag betyder en flugtsekvens. Den print()funktion vil gøre dette ordentligt.

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

Ændring af telefonbog

Vi kan ændre den aktuelle arbejdsmappe ved hjælp af chdir()metoden.

Den nye sti, som vi vil skifte til, skal leveres som en streng til denne metode. Vi kan bruge både skråstreg fremad /eller bagud skråstreg til at adskille stielementerne.

Det er sikrere at bruge en escape-sekvens, når du bruger bagudvendt skråstreg.

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

Liste mapper og filer

Alle filer og underkataloger i et bibliotek kan hentes ved hjælp af listdir()metoden.

Denne metode tager en sti og returnerer en liste med underkataloger og filer i den sti. Hvis der ikke er angivet nogen sti, returnerer den listen over underkataloger og filer fra den aktuelle arbejdsmappe.

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

Oprettelse af et nyt katalog

Vi kan oprette en ny mappe ved hjælp af mkdir()metoden.

Denne metode følger stien til den nye mappe. Hvis den fulde sti ikke er angivet, oprettes den nye mappe i den aktuelle arbejdsmappe.

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

Omdøbning af et bibliotek eller en fil

Den rename()metode kan omdøbe en mappe eller en fil.

For at omdøbe en hvilken som helst mappe eller fil, tager rename()metoden to grundlæggende argumenter: det gamle navn som det første argument og det nye navn som det andet argument.

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

Fjernelse af bibliotek eller fil

En fil kan fjernes (slettes) ved hjælp af remove()metoden.

På samme rmdir()måde fjerner metoden en tom mappe.

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

Bemærk : rmdir()Metoden kan kun fjerne tomme mapper.

For at fjerne en ikke-tom mappe kan vi bruge rmtree()metoden inde i shutilmodulet.

 >>> 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...