Python text files
T. Issaris
13 September 2021
Tekstbestand maken
Hoe maak je tekstbestanden vanuit een Python programma?
- open()
- write()
- close()
Voorbeeld schrijven
bestand = open("informatie.txt", "wt")
bestand.write("Dit is tekst.\n")
bestand.write("En nog een regel tekst.\n")
bestand.close()
“w” staat voor write, “t” staat voor tekst, “\n” staat voor nieuwe regel
Tekstbestand lezen
Hoe lees je tekstbestanden vanuit een Python programma?
- open()
- read() of readlines()
- close()
Voorbeeld lezen
bestand = open("informatie.txt", "rt")
lines = bestand.readlines()
# lines bevat nu lijst met regels uit bestand
for line in lines:
print(line)
bestand.close()
“r” staat voor read, “t” staat voor tekst
Kracht tekstbestanden
Op dezelfde manier kan je gelijk welk soort tekstbestand maken en inlezen. Er bestaan zeer veel tekst-gebaseerde bestandformaten.
Je kan nu voor vele programma’s zelf bestanden aanmaken.
Voorbeeld CSV
Aanmaken spreadsheetbestand:
bestand = open("bitcoin.csv", "wt")
bestand.write("""2011,1
2012,32
2013,220
2014,1156
2015,315
2017,20089
2021,58734
""")
bestand.close()
Voorbeeld STL
Aanmaken 3D bestand:
bestand = open("driehoek.stl", "wt")
bestand.write("""solid driehoek
facet normal 0.0 -1.0 0.0
outer loop
vertex 0.0 0.0 0.0
vertex 1.0 0.0 0.0
vertex 0.0 0.0 1.0
endloop
endfacet
endsolid""")
bestand.close()
XML
Ook XML-bestanden zijn tekstbestanden.
- SVG bestanden
- KML: Google Earth
- .docx: ZIP-bestand met tekstbestanden (XML)
- 3MF: 3D formaat voor manufacturing
Voorbeeld XML
Aanmaken van een SVG bestand:
bestand = open("afbeelding.svg", "wt")
bestand.write("<svg>")
bestand.write("""<rect x="0" y="10" width="100" height="50">""")
bestand.write("</svg>")
bestand.close()
JSON
Ook JSON-bestanden zijn tekstbestanden.
- Google Chrome bookmarks
- GeoJSON
Voorbeeld JSON
Aanmaken van een Google Chrome bladwijzer bestand:
bestand = open("Bookmarks", "wt")
bestand.write("""{
"roots": {
"bookmark_bar": {
"children": [{
"name": "reddit: the front page of the internet",
"type": "url",
"url": "https://www.reddit.com/"
} ],""")
bestand.close()
CSV, JSON en XML aanmaken vanuit Python
Voor zowel CSV, XML als JSON voorziet Python echter handigere manieren om de bestanden aan te maken.
CSV aanmaken vanuit Python
Met de CSV module:
import csv
csvfile = open('fortnite.csv', 'w')
csvwriter = csv.writer(csvfile)
csvwriter.writerow([2016, 1_000_000])
csvwriter.writerow([2018, 200_000_000])
csvwriter.writerow([2020, 350_000_000])
csvfile.close
JSON aanmaken vanuit Python
Met de JSON module:
import json
info = {"naam": "Rick"}
bestand = open("voorbeeld.json", "wt")
json.dump(info, bestand)
bestand.close()