Python text files

T. Issaris

13 September 2021

Tekstbestand maken

Hoe maak je tekstbestanden vanuit een Python programma?

  1. open()
  2. write()
  3. 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?

  1. open()
  2. read() of readlines()
  3. 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.

Voorbeelden tekstformaten

  • HTML
  • CSV (spreadsheets)
  • G-code
  • DXF: CAD bestandsformaat
  • OBJ: 3D bestandsformaat
  • PBM: Bitmap bestandsformaat
  • SRT: ondertitels

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()
// reveal.js plugins