Inhoudsopgave
Inleiding
Benodigdheden
De Open() Functie
Gegevens opslaan
Gegevens lezen
Gegevens lezen en schrijven
Tot slot
Inleiding
Als je een beetje kunt programmeren in Python, al eens een leuke
GUI hebt gemaakt en een paar
eigen functies hebt gemaakt, zal je graag gegevens die je genereerd willen opslaan voor later gebruik. Voor kleine dingen, zoals de lacatie van je programma en dergelijke, kun je het register gebruiken, maar voor grote teksten is dat niet raadzaam, want dat zal de computer waarop je programma gebruikt wordt aanzienlijk vertragen.
Daarom kun je voor grote gegevens het beste gewoon bestandjes gebruiken, waar je je gegevens in opslaat, en er bij later gebruik weer uithaalt. In deze tutorial zal ik deze dingen behandelen:
* Het optimaal opslaan van gegevens in een bestand.
* Het voor verder gebruik openen van bestanden.
* Handige functies om bestanden te openen, denk hierbij aan bestanden regel voor regel inlezen, verschillende manieren van bestanden openen enzovoort.
Benodigdheden
Om deze tutorial te kunnen volgen heb je nodig:
* Een of andere Python IDE.
* De standaard libs van Python geinstalleerd
De twee bovengenoemde dingen kun je downloaden op:
http://www.python.org/download/
Verder heb je basiskennis van Python nodig, zoals Stringbewerking en dergelijke.
De Open() functie
De open() functie is d� manier in Python om bestanden mee te openen. De syntaxis van deze functie is:
open(bestandsnaam, openmodus).
Bestandsnaam is het pad naar het bestand dat je wilt openen.
Openmodus is de manier waarop je het bestand wilt openen. Je hebt de volgende keuzes:
- r : Met deze modus wordt het bestand geopend om alleen te lezen
- w : Met deze modus open je het bestand voor alleen schrijven.
- a : Met deze modus wordt alles dat je toevoegd, automatisch aan het einde van het geopende bestand toegevoegd
- r : Opent het bestand voor zowel lezen �n schrijven
Als je geen modus meegeeft, is de standaard modus 'r'. Onder Windows en Mac kun je bestanden ook in de binaire modus openen. Je kunt dan dus ook de volgende moda gebruiken:
- rb : Met deze modus wordt het bestand geopend om alleen te lezen in binaire modus
- wb : Met deze modus open je het bestand voor alleen schrijven in binaire modus
- ab : Met deze modus wordt alles dat je toevoegd, automatisch aan het einde van het geopende bestand toegevoegd (binaire modus!)
- r b : Opent het bestand voor zowel lezen �n schrijven, maar dan in Binaire modus.
De Binaire modus
moet gebruikt worden bij .exe's en andere niet-plain-tekst.
Opslaan
Het eerste dat je met gegevens moet doen, is natuurlijk ergens opslaan. Als je gegevens wilt opslaan in een nog niet bestaand bestand, gebruik je dit:
PHP-code:
#Comment
gegevens=jegegevens
bestand=open(bestandsnaam, 'w')
bestand.write(gegevens)
De eerste regel zorgt ervoor dat je gegevens in de string gegevens terecht komen.
De tweede regel zorgt ervoor dat het bestand aangemaakt wordt, en dat de waarde ervan in 'bestand' geladen wordt. Aangezien het bestand net is aangemaakt, zal 'bestand' dus leeg zijn.
De derde regel zorgt ervoor dat 'gegevens' naar het bestand gechreven worden.
Als je eenmaal iets naar een bestand geschreven hebt, kun je daarna het beste de 'a' modus gebruiken, om de gegevens
achter de al ingevoerde gegevens te zetten.
Lezen
Om bestanden te lezen, gebruik je de volgende code:
PHP-code:
#Comment
bestand=open(bestandsnaam, 'r')
bestand.read()
De eerste regel zorgt ervoor dat de waarde van
bestandsnaam in
bestand wordt gezet.
bestand.read() leest het hele bestand in, en geeft dat terug.
Je kunt het ook in een string zetten, bijvoorbeeld:
PHP-code:
#Comment
file = bestand.read()
Je kunt het bestand ook regel voor regel inlezen, dat gaat zo:
PHP-code:
#Comment
bestand=open(bestandsnaam, 'r')
while not regel == "":
regel = bestand.readline()
#Hier de code die je wilt doen met de regel
De eerste regel leest het bestand in in
bestand.
De volgende regel zorgt ervoor dat hij blijft loopen totdat de regel leeg is ("").
De regel daarna zorgt dat de volgende regel ingelezen wordt en in
regel gestopt wordt.
Daarna kun je iets met die regel gaan doen.
Lezen en schrijven
Natuurlijk kun je voor lezen en schrijven eerst het bestand inlezen met de modus 'r' en daarna opnieuw openen met 'w', maar het is handiger om met de 'r ' modus te werken.
Met 'r ' kun je gewoon de read() en write() functies door elkaar gebruiken.
Tot slot
Ik weet dat in deze tutorial niet alles staat over het werken met bestanden, maar het is bedoelt als basis om te leren werken met bestanden. Als je de methoden die hier beschreven staan goed beheerst, is het erg makkelijk andere dingen te leren mbt bestanden in Python.
Ik heb veel gehad aan dit goede artikel:
http://www.coolpython.nl/tutorials/tut/n...0000000000
Daar kun je ook meer informatie vinden over Bestanden in Python!