Python direktorij i upravljanje datotekama

U ovom vodiču naučit ćete o upravljanju datotekama i direktorijima u Pythonu, tj. Stvaranju direktorija, preimenovanju, popisivanju svih direktorija i radu s njima.

Video: Python os modul

Python direktorij

Ako postoji velik broj datoteka za obradu u našem programu Python, možemo rasporediti naš kôd unutar različitih direktorija kako bismo stvari učinili upravljivijima.

Direktorij ili mapa je zbirka datoteka i poddirektorijuma. Python ima osmodul koji nam pruža mnoge korisne metode za rad s direktorijima (i datotekama također).

Nabavite trenutni direktorij

Sadašnji radni direktorij možemo dobiti getcwd()metodom osmodula.

Ova metoda vraća trenutni radni direktorij u obliku niza. getcwdb()Metodu također možemo koristiti da bismo je dobili kao objekt bajtova.

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

Dodatna kosa crtica podrazumijeva redoslijed bijega. print()Funkcija će uzvratiti to ispravno.

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

Promjena direktorija

Trenutačni radni direktorij možemo promijeniti pomoću chdir()metode.

Novi put u koji se želimo promijeniti mora biti dodan kao niz ovoj metodi. Za odvajanje elemenata puta možemo koristiti kosu crtu naprijed /ili natrag .

Sigurnije je koristiti redoslijed bijega kada se koristi kosa crta.

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

Popis direktorija i datoteka

Sve datoteke i poddirektoriji unutar direktorija mogu se dobiti pomoću listdir()metode.

Ova metoda uzima stazu i vraća popis poddirektorijuma i datoteka na toj stazi. Ako nije navedena putanja, vraća popis poddirektorijuma i datoteka iz trenutne radne mape.

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

Izrada novog direktorija

Pomoću mkdir()metode možemo napraviti novi direktorij .

Ova metoda uzima put nove mape. Ako nije navedena puna staza, novi direktorij kreira se u trenutnom radnom direktoriju.

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

Preimenovanje direktorija ili datoteke

rename()Metoda može preimenovati direktorij ili datoteku.

Za preimenovanje bilo kojeg direktorija ili datoteke, rename()metoda uzima dva osnovna argumenta: staro ime kao prvi argument i novo ime kao drugi argument.

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

Uklanjanje direktorija ili datoteke

Datoteka se može ukloniti (izbrisati) pomoću remove()metode.

Slično tome, rmdir()metoda uklanja prazan direktorij.

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

Napomena : rmdir()Metoda može ukloniti samo prazne direktorije.

Da bismo uklonili neprazan direktorij, možemo koristiti rmtree()metodu unutar shutilmodula.

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

Zanimljivi članci...