Python könyvtár és fájlkezelés

Ebben az oktatóanyagban megismerheti a Python fájl- és könyvtárkezelését, azaz könyvtár létrehozását, átnevezését, az összes könyvtár felsorolását és a velük való munkát.

Videó: Python os modul

Python Directory

Ha a Python programunkban nagyszámú fájlt kell kezelni, a kódot különböző könyvtárakba rendezhetjük, hogy a dolgok könnyebben kezelhetőek legyenek.

A könyvtár vagy mappa fájlok és alkönyvtárak gyűjteménye. A Python rendelkezik azzal a osmodullal, amely számos hasznos módszert kínál számunkra a könyvtárak (és a fájlok) kezeléséhez.

Get Current Directory

A jelenlegi munkakönyvtárat getcwd()a osmodul módszerével kaphatjuk meg .

Ez a módszer karakterlánc formájában adja vissza az aktuális munkakönyvtárat. Használhatjuk a getcwdb()módszert arra is, hogy bájt objektumként kapjuk meg.

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

Az extra visszavágás menekülési sorrendet jelent. A print()függvény ezt rendesen megjeleníti.

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

Könyvtár módosítása

A chdir()módszer segítségével megváltoztathatjuk az aktuális munkakönyvtárat .

Az új utat, amelyen át akarunk váltani, karakterláncként kell megadni a módszerhez. Az /útvonalelemek elválasztására használhatjuk mind az előre-, mind a vissza-perjelet .

Biztonságosabb a menekülési sorrend használata a hátsó perjel használatakor.

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

Könyvtárak és fájlok listázása

A könyvtárban található összes fájl és alkönyvtár lekérhető a listdir()módszerrel.

Ez a módszer bevezeti az elérési utat, és visszaadja az alkönyvtárak és fájlok listáját. Ha nincs megadva elérési út, akkor az alkönyvtárak és fájlok listáját adja vissza az aktuális munkakönyvtárból.

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

Új könyvtár készítése

A mkdir()módszerrel új könyvtárat készíthetünk .

Ez a módszer bevezeti az új könyvtár elérési útját. Ha a teljes elérési út nincs megadva, akkor az új könyvtár az aktuális munkakönyvtárban jön létre.

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

Könyvtár vagy fájl átnevezése

A rename()módszer átnevezhet egy könyvtárat vagy egy fájlt.

Bármely könyvtár vagy fájl átnevezéséhez a rename()módszer két alapvető argumentumot vesz fel: a régi nevet első argumentumként és az új nevet második argumentumként.

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

Könyvtár vagy fájl eltávolítása

A fájl a remove()módszerrel eltávolítható (törölhető) .

Hasonlóképpen, a rmdir()módszer eltávolít egy üres könyvtárat is.

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

Megjegyzés : A rmdir()módszer csak az üres könyvtárakat tudja eltávolítani.

A nem üres könyvtár eltávolításához használhatjuk a rmtree()módszert a shutilmodul belsejében .

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

érdekes cikkek...