Home   Howto's   Contact  



De correcte Python manier om een bestand in te lezen is :
with open('bestand.txt') as f:
    for line in f:
        # Doe iets met 'line'

Dit lukt enkel en alleen als het bestand zich in de huidge map bevindt. Indien niet, dan moet je het volledige pad naar het bestand aangeven.

import os

if os.path.isfile('/home/serge/Documenten/voorbeeld.txt'):
    bestand = os.path('/home/serge/Documenten/voorbeeld.txt')
    with open('bestand') as f:
        for line in f:
            # Doe iets met 'line'
else:
    print('File not found:', bestand)

Hier volgen nog 2 methodes om bestanden regel per regel in te lezen. Deze zijn niet zo elegant als hierboven, maar kunnen van pas komen bij heel grote bestanden.

In Python kan je ook een bestand inlezen als volgt:

for line in open('bestand.txt','r').readlines():
    do_iets_met(line)

De readlines funktie laadt het ganse bestand in het geheugen waarna je door het bestand kan bladeren. Voor heel grote bestanden kan dit natuurlijk belastend zijn voor het beschikbare geheugen. Een betere aanpak is dan het gebruik maken van fileinput.input

import fileinput
import os

if os.path.isfile('/home/serge/Documenten/voorbeeld.txt'):
    bestand = '/home/serge/Documenten/voorbeeld.txt'
    for line in fileinput.input(['bestand']):
        do_iets_met(line)
else:
    print('File not found:', bestand)

De fileinput.input leest regels achtereenvolgens (sequentially) in, en houdt de regel niet in het geheugen als deze eenmaal verwerkt is.

Cheers!





Account

Inloggen
of account aanmaken