Python 102: Bestanden lezen en schrijven

Leuk dat je een werkend programma kunt maken, maar kun je ook iets opslaan? Om later zelf te lezen. Of, om aan een ander programma te geven. Als je met files kunt omgaan, kom je op Level 2 van het programmeren!

De antwoorden van deze opdracht staat online . Het wachtwoord : bij je docent, als je ze af hebt.

1. Omgaan met bestanden

De theorie van bestanden(files) wordt prima uitgelegd door Wikibooks. Hier gebruiken we een korte samenvatting.

Je hebt 4 manieren om bestanden te openen, r, w en a en r+. Wij doen nu alleen de eerste 3, de belangrijkste.

1.1 Open read-only.

Als eerste is er read-only (lezen). Je opent het bestand aan het begin om het te lezen. Notatie: r.

Heb je het bestand geopend, dan gebruik je vaak readlines() om het bestand als array in te lezen, elke regel een element van de array.

f = open("bla.txt","r")
print f.read()

Andere veelgebruikte functies in deze mode zijn:

f.readline(3) # welke regel leest ie nu ?
f.readlines() # de hele file als array inlezen

1.2 Open for Writing

Als je in de W mode een bestand opent, maak je een nieuw bestand aan met de naam die je m geeft.

f = open("nieuw.txt","w")
f.write("Er staat een paard in de gangn")
f.close()

1.3. Open in Append mode

Een veelgebruikte feature is om een bestand te openen in Append mode. hier schrijf je naar het bestand door aan het einde tekst toe te voegen. Notatie: a

f= open("tien.txt","a")

2. Van 1 tot 10 on File

Maak een python script tien.py dat de getallen 1-10 onder elkaar in het bestand tien.txt zet.

3. Zoek vijf

Maak een python script zoekvijf.py die het bestand tien.txt uit de vorige oefening opent, alle regels inleest en als er op een regel het getal 5 staat, dan print je de tekst “Vijf gevonden”.

4. Data logger

Het begin van de code krijg je cadeau:

import time
from datetime import *
now = date.today()
print(now)
logfile = open(str(now) + ".txt", "a")
detext = raw_input("Type wat of \"stop\" om te stoppen : ...")
while detext !=  # ja wat ?
   ..... # schrijf hier een stuk tekst weg
   ...... # haal nieuwe input op
... # log hier nog een algemeen einde tekst

Je moet het script zo maken, dat ie precies logt wat je typt. Net als Windows10 een beetje. Als je “stop”  typt moet ie ermee stoppen en voor de rest altijd alles loggen in de file

5. Een klein projectje

Python 102 draait om een klein projectje waarvoor je gebruik moet maken van een publieke informatiedienst (ofwel een API). Je zal iets moeten opslaan om hun gegevens vast te houden. Kies uit (of zoek zelf een leuke api):