Python-directory en bestandsbewerkingen beheersen
Python-directory en bestandenbeheer
Ontdek hoe je efficiënt mappen en bestanden in Python kunt aanmaken, navigeren, lijsten, hernoemen en verwijderen met heldere, praktische voorbeelden.
Video: Python os-module
Python-directory
Wanneer je project groeit, wordt het organiseren van code in goed-gestructureerde mappen essentieel. Een directory – of map – is een container voor bestanden en subdirectories, en Python's os-module biedt robuuste tools om ze te beheren.
Huidige directory opvragen
Gebruik os.getcwd() om de huidige werkdirectory als string op te halen. Als je een bytes-representatie nodig hebt, doet os.getcwdb() het werk.
import os
os.getcwd() # 'C:\\Program Files\\PyScripter'
os.getcwdb() # b'C:\\Program Files\\PyScripter'
De dubbele backslash geeft een escapesequentie aan. Met print() wordt het pad correct weergegeven:
print(os.getcwd()) # C:\Program Files\PyScripter
Directory wijzigen
Wissel de huidige werkdirectory met os.chdir(pad). Het pad-argument kan voorwaartse of achterwaartse slashes gebruiken; onthoud backslashes te escapen of raw strings te gebruiken.
os.chdir('C:\\Python33')
print(os.getcwd()) # C:\Python33
Directories en bestanden lijsten
Haal elk bestand en subdirectory in een doelmap op met os.listdir(pad). Als pad weggelaten wordt, werkt de functie op de huidige werkdirectory.
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']
Een nieuwe directory aanmaken
Maak een map aan met os.mkdir(pad). Als het pad relatief is, verschijnt de nieuwe directory in de huidige werkdirectory.
os.mkdir('test')
print(os.listdir()) # ['test']
Een directory of bestand hernoemen
Dezelfde os.rename(bron, doel)-functie behandelt zowel bestanden als mappen. Geef de oude naam als bron en de gewenste nieuwe naam als doel:
os.listdir() # ['test']
os.rename('test', 'nieuw_een')
print(os.listdir()) # ['nieuw_een']
Directory of bestand verwijderen
Verwijder een bestand met os.remove(pad). Om een lege map te verwijderen, gebruik os.rmdir(pad):
os.listdir() # ['nieuw_een', 'oud.txt']
os.remove('oud.txt')
print(os.listdir()) # ['nieuw_een']
os.rmdir('nieuw_een')
print(os.listdir()) # []
Let op: os.rmdir() werkt alleen op lege directories.
Als je een map moet verwijderen die bestanden of submappen bevat, is de shutil.rmtree()-functie uit de shutil-module de weg:
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')
print(os.listdir()) # []
Python
- Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
- C++ Geheugenbeheer meesteren: Expert gebruik van new en delete
- Python Keywords en Identifiers: Gereserveerde woorden en naamconventies onder de knie krijgen
- Python Statements, Indentatie en Comments: Een duidelijke gids
- Python Variabelen, Constanten en Literals – Een uitgebreide gids
- Python Type Conversie & Casting onder de knie krijgen: Een uitgebreide gids
- Python I/O en Module Imports onder de knie krijgen: Een praktische gids
- Python Global, Local en Nonlocal Variabelen begrijpen
- Python getallen, typeconversie en wiskunde beheersen
- Python-fouten & ingebouwde exceptions beheersen
- Huidige datum en tijd ophalen in Python: een praktische gids