Správa adresářů a souborů Pythonu

V tomto kurzu se dozvíte o správě souborů a adresářů v Pythonu, tj. Vytvoření adresáře, jeho přejmenování, výpis všech adresářů a práce s nimi.

Video: Modul Python os

Adresář Pythonu

Pokud je v našem programu v Pythonu velké množství souborů, které můžeme zpracovat, můžeme náš kód uspořádat do různých adresářů, abychom věci zvládli lépe.

Adresář nebo složka je kolekce souborů a podadresářů. Python má osmodul, který nám poskytuje mnoho užitečných metod pro práci s adresáři (a také se soubory).

Získejte aktuální adresář

Současný pracovní adresář můžeme získat pomocí getcwd()metody osmodulu.

Tato metoda vrací aktuální pracovní adresář ve formě řetězce. Můžeme také použít getcwdb()metodu k získání jako bajtový objekt.

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

Extra zpětné lomítko znamená únikovou sekvenci. print()Funkce bude činit to správně.

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

Změna adresáře

Můžeme změnit aktuální pracovní adresář pomocí chdir()metody.

Nová cesta, kterou chceme změnit, musí být k této metodě dodána jako řetězec. K oddělení prvků cesty můžeme použít lomítko /i lomítko .

Při použití zpětného lomítka je bezpečnější použít únikovou sekvenci.

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

Seznam adresářů a souborů

Pomocí této listdir()metody lze načíst všechny soubory a podadresáře uvnitř adresáře .

Tato metoda přijímá cestu a vrací seznam podadresářů a souborů v této cestě. Pokud není zadána žádná cesta, vrátí seznam podadresářů a souborů z aktuálního pracovního adresáře.

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

Vytvoření nového adresáře

Pomocí této mkdir()metody můžeme vytvořit nový adresář .

Tato metoda přijímá cestu k novému adresáři. Pokud není zadána úplná cesta, vytvoří se nový adresář v aktuálním pracovním adresáři.

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

Přejmenování adresáře nebo souboru

rename()Metoda může přejmenovat adresář nebo soubor.

Pro přejmenování libovolného adresáře nebo souboru má rename()metoda dva základní argumenty: starý název jako první argument a nový název jako druhý argument.

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

Odebrání adresáře nebo souboru

Soubor lze odstranit (smazat) pomocí této remove()metody.

Podobně rmdir()metoda odstraní prázdný adresář.

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

Poznámka : rmdir()Metoda může odstranit pouze prázdné adresáře.

Abychom odstranili neprázdný adresář, můžeme použít rmtree()metodu uvnitř 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() ()

Zajímavé články...