Hiba új könyvtár létrehozásakor az os.mkdir() segítségével egy nem létező könyvtárban
os.mkdir()
Ez a Pythonban egy könyvtár (mappa) létrehozására használt módszer. Ha nem létező könyvtárban próbálsz új könyvtárat létrehozni, hibaüzenet jelenik meg.(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
Könyvtárak létrehozása rekurzívan az os.madeirs() segítségével
Ha az os.mkdir() helyett az os.makedirs() parancsot használod, akkor létrehoz egy köztes könyvtárat, így rekurzívan létrehozhatsz egy mély hierarchikus könyvtárat.
os.makedirs('not_exist_dir/new_dir')
A példa esetében az összeset egyszerre hozza létre. Nem baj, ha több új közbenső könyvtárat is létrehoz.
- köztes könyvtár:
not_exist_dir
- végső könyvtár:
new_dir
Ha azonban a végkönyvtár már létezik, hiba lép fel.(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
Ha van argumentum exist_ok
A Python 3.2 óta az exist_ok argumentummal egészül ki, és ha az exist_ok=True, akkor sem lép fel hiba, ha a végkönyvtár már létezik. Ha a végkönyvtár nem létezik, akkor egy újat hoz létre, ha pedig létezik, akkor nem történik semmi. Ez azért kényelmes, mert nem kell előre ellenőrizni a végkönyvtár létezését.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
Ha az exist_ok argumentum hiányzik
Ha a Python régebbi verziója van, és nincs meg az os.madeirsben az exist_ok argumentum, akkor az os.path.exists segítségével meghatározhatja, hogy van-e végkönyvtár, és csak akkor hoz létre újat, ha nincs végkönyvtár.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')