SV CODE eindtentamen
Isabelle van Aard – januari 2020
College 10 – Bestanden en exceptions
Bestanden lezen en schrijven
• Wiskundige taken (Bereken de kans dat je een aantal keer achter elkaar zes gooit)
• Geen externe input
• Meeste taken gebruiken data
• Input van de gebruiker, command line argument, webservice, database
• Data in bestanden
• Data science, information retrieval: heel vaak tekstbestanden
• Verschillende manieren om bestand te lezen
• Hele bestand: tekst = bestand.read()
• Een regel: regel = bestand.readline()
• Alle regels in een lijst: alle_regels =
bestand.readlines()
• Gebruik in for-loop bestand =
open("inhoud.txt")
for regel in bestand:
print(regel)
• Bepaald aantal karakters: stuk = bestand.read(10)
• Een bestand is een lange rij bytes. Elke byte representeert een karakter
• Regeleindes zijn een speciaal karakter \n
o Bij het ontwaken\neen handvol confetti\nop het hoofdkussen
o → Teksteditors ‘vertalen’ het teken \n naar een visueel
regeleinde
• Python-functies lezen bytes totdat ze \n tegenkomen
o readline(), readlines(), for regel in bestand
• Dit karakter wordt ook gelezen en opgeslagen in de variabele
• bestand = open("gedicht.txt")
regel = bestand.readline() # regel is nu "Bij het
ontwaken\n"
• print() interpreteert \n ook als regeleinde
• print() voegt zelf ook altijd een regeleinde toe
• Dus: twee regeleindes → lege regel
• Bestand sluiten na gebruik
• Opnieuw lezen, lezen na schrijven, overschrijven
• In Python: bestand.close()
• Automatisch sluiten: blok met with en as
bestand = open("inhoud.txt")
for regel in bestand:
print(regel.strip())
bestand.close()
• with open("inhoud.txt") as bestand:
• for regel in bestand:
o print(regel.strip()) # bestand automatisch gesloten
1
, • open("bestand.txt", "w") → haalt bestaande inhoud weg
• Vaak de bedoeling
• Voorbeeld: preprocessing van tekst opslaan in bestand
• Andere gevallen: na bestaande tekst doorgaan
• Voorbeeld: log-bestanden, resultaten experimenten
• Append met open("bestand.txt", "a")
• Expliciet lezen: open("bestand.txt", "r")
o "r" is default-waarde van dit argument
CSV
• CSV-bestanden schrijven
• Strings niet verplicht
• import csv csv_file =
open("cijfers.csv", "a")
• cijfer_uit = csv.writer(csv_file)
cijfer_uit.writerow(["John Smith",7,5,9,7])
cijfer_uit.writerow(["Jane Doe",8,4,7,6.3])
csv_file.close()
2
, Exceptions
College 11a – Music information retrieval
➢ MIR is concerned with the extraction, analysis, and usage of information about any kind of
music entity (e.g., a song or a music artist) on any representation level (bv audio signal,
symbolic MIDI representation of a piece of music, or name of a music artist)
o MIR is hardly a stable concept, but a very lively research area
MIR scenarios:
• Melody search → puur IR (zoekvraag en ik wil iets vinden); de rest gaat meer over actieve
betrokkenheid in de muziek.
• Query by humming (zingt liedje in hoofd en systeem herkent wat je doet)
• What's playing? (Shazam: opname identificeren)
• Recommendation (discover weekly: nieuwe muziek)
• Music I can play along with (chordiffy; yt movie met leuke muziek --> track uploaden en
dan kan je meespelen (want je ziet de song op je beeld en dan kan je het volgen op je gitaar oid)
3