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 os
modullal, 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 os
modul 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 shutil
modul 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() ()