Både skriving til fil og lesing fra fil er enkelt i Python.
Eksempel #1 på lesing fra fil:
with open("inndata.txt") as filobjekt: innhold = filobjekt.read() # variabelen innhold har nå alt innhold fra filen inndata.txt
Problemet her er at man ofte ikke vil ha alt på en gang. F.eks. kan filer være store og derfor forårsake problemer hvis innholdet tar opp veldig mye plass.
Eksempel #2 på lesing fra fil:
with open("inndata.txt") as fileobjekt: for linje in fileobjekt: # gir en og en linje fra inndata.txt
Her derimot får man bare èn linje om gangen som man så kan gjøre noe med.
Å skrive til en fil er også ganske enkelt.
Eksempel på (over)skriving:
with open("utdata.txt", "w") as filobjekt: filobjekt.write("Dette er en test!") # her skrives "Dette er en test!" til # filen utdata.txt som opprettes eller erstattes
Eksempel på tillegging:
with open("utdata.txt", "a") as filobjekt: filobjekt.write("\n") filobjekt.write("Dette er en test!") # her lages ny linje også skrives "Dette er en test!" # på slutten av filen utdata.txt
Den store forskjellen er i grunn a (for «append») i stedet for w (for «write»).
For direkte skriving og lesing av objekter brukes følgende:
import json with open("objekt.json", "w") as filobjekt: json.dump(objekt, filobjekt)
import json with open("objekt.json") as filobjekt: objekt = json.load(filobjekt)
Hvor objektet f.eks. kan se slik ut:
objekt = { "navn": "Ove Bakken", "epost": "post@ovebakken.no" }
Dette objektet er uttrykt ved hjelp av JSON (som står for «JavaScript Object Notation»), men også lister og tupler kan behandles.