Python direktorijs un failu pārvaldība

Šajā apmācībā jūs uzzināsit par failu un direktoriju pārvaldību Python, ti, direktorija izveidošanu, tā pārdēvēšanu, visu direktoriju uzskaitīšanu un darbu ar tiem.

Video: Python os modulis

Python direktorijs

Ja mūsu Python programmā ir liels skaits apstrādājamo failu, mēs varam sakārtot savu kodu dažādos direktorijos, lai padarītu lietas vieglāk pārvaldāmas.

Katalogs vai mape ir failu un apakšdirektoriju kolekcija. Python ir osmodulis, kas nodrošina daudzas noderīgas metodes darbam ar direktorijiem (un failiem).

Iegūt pašreizējo direktoriju

Mēs varam iegūt pašreizējo darba direktoriju, izmantojot moduļa getcwd()metodi os.

Šī metode atgriež pašreizējo darba direktoriju virknes formā. Mēs varam arī izmantot getcwdb()metodi, lai to iegūtu kā baitu objektu.

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

Papildu slīpsvītrs nozīmē aizbēgšanas secību. print()Funkcija padara to pareizi.

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

Mainīt direktoriju

Izmantojot chdir()metodi, mēs varam mainīt pašreizējo darba direktoriju .

Jaunais ceļš, kurā mēs vēlamies mainīt, ir jāpiedāvā kā virkne šai metodei. Ceļa elementu atdalīšanai mēs varam izmantot gan slīpsvītru, gan slīpsvītru /atpakaļ .

Izmantojot slīpsvītru atpakaļ, ir drošāk izmantot evakuācijas secību.

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

Sarakstiet direktorijus un failus

Visus direktorijā esošos failus un apakšdirektorijus var izgūt, izmantojot listdir()metodi.

Šī metode uzņem ceļu un atgriež apakšdirektoriju un failu sarakstu šajā ceļā. Ja ceļš nav norādīts, tas atgriež apakšdirektoriju un failu sarakstu no pašreizējā darba direktorija.

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

Jauna direktorija izveidošana

Izmantojot mkdir()metodi, mēs varam izveidot jaunu direktoriju .

Šī metode aizņem jaunā direktorija ceļu. Ja pilns ceļš nav norādīts, jaunais direktorijs tiek izveidots pašreizējā darba direktorijā.

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

Direktorija vai faila pārdēvēšana

rename()Metode var pārsaukt direktoriju vai failu.

Jebkura direktorija vai faila pārdēvēšanai rename()metodē ir iekļauti divi pamata argumenti: vecais nosaukums kā pirmais arguments un jaunais nosaukums kā otrais arguments.

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

Notiek direktorijas vai faila noņemšana

Izmantojot remove()metodi, failu var noņemt (izdzēst) .

Līdzīgi rmdir()metode noņem tukšu direktoriju.

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

Piezīme . Ar šo rmdir()metodi var noņemt tikai tukšus direktorijus.

Lai noņemtu tukšu direktoriju, mēs varam izmantot rmtree()metodi shutilmoduļa iekšpusē .

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

Interesanti raksti...