Správa adresárov a súborov Python

V tomto výučbe sa dozviete o správe súborov a adresárov v Pythone, tj o vytvorení adresára, jeho premenovaní, zozname všetkých adresárov a práci s nimi.

Video: Modul Python os

Adresár Python

Ak je v našom pythonovskom programe veľké množstvo súborov, ktoré môžeme spracovať, môžeme náš kód usporiadať do rôznych adresárov, aby sa veci dali lepšie spravovať.

Adresár alebo priečinok je zbierka súborov a podadresárov. Python má osmodul, ktorý nám poskytuje mnoho užitočných metód na prácu s adresármi (a tiež so súbormi).

Získať aktuálny adresár

Aktuálny pracovný adresár môžeme získať getcwd()metódou osmodulu.

Táto metóda vráti aktuálny pracovný adresár vo forme reťazca. Túto getcwdb()metódu môžeme použiť aj na to, aby sme ju dostali ako bajtový objekt.

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

Extra spätné lomítko znamená únikovú sekvenciu. print()Funkcia bude činiť to správne.

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

Zmena adresára

Aktuálny pracovný adresár môžeme zmeniť pomocou chdir()metódy.

Nová cesta, ktorú chceme zmeniť, musí byť k tejto metóde dodaná ako reťazec. Na oddelenie prvkov cesty môžeme použiť lomku /alebo spätnú lomku .

Pri použití spätnej lomky je bezpečnejšie použiť únikovú sekvenciu.

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

Zoznam adresárov a súborov

Pomocou tejto listdir()metódy je možné vyhľadať všetky súbory a podadresáre v adresári .

Táto metóda prevezme cestu a vráti zoznam podadresárov a súborov v tejto ceste. Ak nie je zadaná cesta, vráti zoznam podadresárov a súborov z aktuálneho pracovného adresára.

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

Vytvorenie nového adresára

Pomocou tejto mkdir()metódy môžeme vytvoriť nový adresár .

Táto metóda preberá cestu k novému adresáru. Ak nie je zadaná úplná cesta, vytvorí sa nový adresár v aktuálnom pracovnom adresári.

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

Premenovanie adresára alebo súboru

rename()Metóda môže premenovať adresár alebo súbor.

Pri premenovaní ľubovoľného adresára alebo súboru používa rename()metóda dva základné argumenty: starý názov ako prvý argument a nový názov ako druhý argument.

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

Odstraňuje sa adresár alebo súbor

Súbor je možné pomocou tejto remove()metódy odstrániť (vymazať) .

Podobne rmdir()metóda odstráni prázdny adresár.

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

Poznámka : rmdir()Metóda môže odstrániť iba prázdne adresáre.

Aby sme odstránili neprázdny adresár, môžeme použiť rmtree()metódu vo vnútri shutilmodulu.

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

Zaujímavé články...