Hoofdstuk 15 Tekstbestanden: Uitwerkingen
Opdracht 15.1 - Foutmelding herkennen
Geen uitwerking beschikbaar.- Door de code te runnen zie je dat er in "groet.txt" het volgende staat:
Hallo!
Hoe gaat het? - Links zie je de map met bestanden staan, waaronder dit Jupyter bestand met de code.
- Door het bestand "groet.txt" te openen zie je dat daarin het volgende staat:
Hallo!
Hoe gaat het? - Je krijgt een foutmelding met bovenaan het volgende:
FileNotFoundError
De foutmelding geeft aan dat het bestand niet bestaat. - In "afscheid.txt" staat het volgende:
Nou, is het alweer tijd om gedag te zeggen?
Opdracht 15.2 - Inhoud afdrukken
bestand = open("dikkertjeDap.txt", "r") #open bestand
inhoud_lijst = bestand.readlines() #zet inhoud in een lijst, elk regel als aparte element
for regel in inhoud_lijst:
print(regel, end="") #print elk element uit lijst, zonder extra lege regel van de print
bestand.close() #sluit bestand
Opdracht 15.3 - Letters tellen
bestand = open("dikkertjeDap.txt", "r") #open bestand om te lezen
tekst = bestand.read() #sla inhoud van bestand op in variabele
aantal_A = tekst.count('A')
aantal_A += tekst.count('a')
bestand.close() #sluit bestand
print ("In de tekst staan", aantal_A, "A's.")
of
bestand = open("dikkertjeDap.txt", "r") #open bestand om te lezen
tekst = bestand.read() #sla inhoud van bestand op in variabele
aantal_a = tekst.count("a")
aantal_A = tekst.count("A")
bestand.close() #sluit bestand
print ("In de tekst staan", aantal_a, "a's en", aantal_A, "A's.")
print(inhoud)
Opdracht 15.4 - In bestand schrijven
tekst = input("Geef een regel tekst om in het bestand te zetten: ")
bestand1 = open("mijn_eigen_bestand.txt", "w")
bestand1.write(tekst)
bestand1.close()
bestand2 = open("mijn_eigen_bestand.txt", "r")
tekst_in_bestand = bestand2.read()
print("Dit staat er nu in het bestand: ", tekst_in_bestand)
bestand2.close()
Opdracht 15.5 - Bestanden kopiëren
leesbestand = open("kuikentjePiep.txt", "r") #open bestand om te lezen
tekst = leesbestand.read() #sla inhoud van bestand op in een string variabele
leesbestand.close() #sluit bestand
schrijfbestand= open("writetest.txt", "w") #open/maak bestand om in te schrijven
schrijfbestand.write(tekst) #schrijf tekst in bestand
schrijfbestand.close() #sluit bestand
Opdracht 15.6 - Van lijst naar bestand
lijst= ["rood\n","wit\n", "blauw"]
bestand = open("uitvoer.txt", "w")
bestand.writelines(lijst)
bestand.close()
Opdracht 15.7 - Toevoegen aan een bestand
Met "a" plak je steeds tekst achteraan bestaande tekst in een bestand. Je overschrijft dus niets.Met “w” wordt alle oude tekst overschreven.
Opdracht 15.8 - Van bestand naar scherm
bestand = open("emailadressen.csv", "r")
bestand_als_lijst = bestand.readlines() # zet elk regel in een lijst
print(bestand_als_lijst)
#DEEL A
for persoonsgegevens in bestand_als_lijst:
gegevens_van_persoon = persoonsgegevens.split(';') #maak per persoon een lijst van stand, zoals: ["Renske Weeda",r.weeda@montessoricollege.nl]
naam = gegevens_van_persoon[0] #de naam is het eerste element
emailadres = gegevens_van_persoon[1] #het e-mailadres is het tweede element
print("Het e-mailadres van " +naam + " is " + emailadres, end="") #druk af, zonder nieuwe regel
#DEEL B
naam_als_lijst = naam.split(' ')
voornaam = naam_als_lijst[0] #de voornaam is altijd het eerste element
achternaam = naam_als_lijst[1]
print("Voornaam is: " + voornaam)
print("Achternaam is: " + achternaam, "\n")
bestand.close()
H15: Afsluitende opdrachten: UITWERKINGEN
Afsluitende opdracht 15.1 Vat samen
Samenvatting: Er wordt een lijst gemaakt van de inhoud van het bestand, waarbij elk woord een apart element in de lijst wordt.Ter informatie, in detail gebeurt het volgende:
- Het programma leest de inhoud van bestand 'invoer_bestand.txt' in.
- Alle returns (of te wel '\n') worden verwijderd.
- Alle komma's worden verwijderd.
- Alle komma's worden verwijderd.
- Alle inhoud wordt in een lijstje gezet.
- De lijst wordt geprint naar het scherm.
Afsluitende opdracht 15.2 Hoofdletters maken van tekst in een bestand
leesbestand_handle = open("kuikentjePiep.txt", "r") #open bestand om te lezen
tekst = leesbestand_handle.read() #sla inhoud van bestand op in variabele
tekst = tekst.upper()
print(tekst)
leesbestand_handle.close() #sluit bestand
schrijfbestand_handle = open("kuikentjePiepGroot.txt", "w") #open/maak bestand om in te schrijven
schrijfbestand_handle.write(tekst) #schrijf tekst in bestand
schrijfbestand_handle.close() #sluit bestand
Afsluitende opdracht 15.3: Gebruikersinvoer opslaan
bestand = open("hobby.txt", "w")
for i in range (3):
ingevoerde_hobby = input("Wat is je hobby? ")
bestand.write(ingevoerde_hobby)
bestand.write(",")
bestand.close()
Afsluitende opdracht 15.4: Het aantal drieletterwoorden
bestand = open("kuikentjePiep.txt", "r")
inhoud = bestand.read() # zet tekst in een string
inhoud = inhoud.replace('\n'," ") #vervang alle nieuwe regels door een spatie
inhoud = inhoud.replace(',',"") #verwijder alle kommas
inhoud_per_woord = inhoud.split(" ") #zet elk woord als apart element in de lijst
print(inhoud_per_woord)
woord_teller = 0
for woord in inhoud_per_woord: # voor elk woord in de tekst, herhaal het volgende:
if len(woord) == 3: #zoek de drie-letter woorden
print("Drieletterwoord gevonden!", woord)
woord_teller += 1
print(woord_teller)
bestand.close()
Afsluitende opdracht 15.5: Persoonlijkebrievengenerator
### LEES GEGEVENS IN
bestand = open("abo_gegevens.txt", "r")
inhoud = bestand.read()
inhoud = inhoud.replace('\n'," ") #vervang alle nieuwe regels door een spatie
inhoud = inhoud.split(" ") #zet elk woord als apart element in de lijst
#je kunt ook split("\n") gebruiken
print("Inhoud", inhoud)
voornaam = inhoud[0]
databundel = inhoud[1]
belminuten = inhoud[2]
maandprijs = inhoud[3]
#### PRINT BRIEF
print("Beste " + voornaam + ",\n")
print("Welkom bij KPN. Je hebt een abonnement afgesloten met " + databundel + "data en " + belminuten + " belminuten." )
print("Het abonnement kost " + maandprijs + " per maand.")
print("Namens KPN wensen je veel plezier met je nieuwe abonnement!")