Python
Werken met bestanden
Leerdoelen
- Leren hoe we bestanden kunnen lezen en schrijven
- Hoe we controlleren of het goed gegaan is
Parameters voor open
fh = open('testbestand.txt', 'rt', encoding="utf-8")
fh.close()
Open Parameters
| Parameter |
Functie |
Werking |
| r |
read |
Opent een bestand om het te lezen, geeft een error als het bestand niet bestaat. Dit is de default. |
| w |
write |
Opent een bestand om het te schrijven, maakt het bestand aan als het niet bestaat en overschrijft eventueel bestaande inhoud. |
| a |
append |
Opent een bestand om er data aan toe te voegen, maakt het bestand aan als het niet bestaat. |
| x |
create |
Maakt een nieuw, leeg, bestand aan, geeft een error als het bestand bestaat. |
Try en except
try:
fh = open("testbestand.txt", "wt")
except fh.FileNotFoundError:
print("Bestand niet gevonden")
with ... as
file = "file.txt"
with open('t.txt', 'wt', encoding="utf-8") as fh:
fh.write("We springen in\r\n")
fh.write("Stopt het inspringen, ")
fh.write("dan is er automatisch een close.\r\n")
# Rest van de code
Werken met hele bestanden
with open(file, 'rt', encoding="utf-8") as fh:
file = fh.readlines()
for line in file:
print(line)
- Het hele bestand wordt in 1x in het geheugen geladen
- Kan meerdere keren vanuit het geheugen gebruikt worden
Regel voor regel
with open(file, 'rt', encoding="utf-8") as fh:
for line in fh:
print(f"{line}\n", end='')
- Het bestand wordt regel voor regel in gelezen
- Verwerking wordt per regel verricht
Samenvatting
- We hebben gezien hoe we bestanden kunnen lezen en schrijven
- Met try ... except kunnen we errors afvangen
- Met with ... as hoeven we geen close te gebruiken
- We kunnen hele bestanden inlezen of regel voor regel