Tiedostojen käsittely
Hyvin usein ohjelmassa tulee tarve tallentaa tietoja niin, että ne ovat saatavilla ohjelman tai tietokoneen sammutuksen jälkeen. Ohjelmasi saattaa myös lukea toisten ohjelmien tuottamia tiedostoja kuten tekstiä ja kuvia.
Tiedoston lukeminen
Alla olevissa esimerkeissä luetaan tekstia tiedostosta ja demonstroidaan samalla poikkeuksien käsittelyä. Esimerkissä on käytetty myös try-except poikkeustenkäsittelyä, tämän kurssin puitteissa ei syvemmin mennä tähän sinällään tärkeään ohjelmoinnin osa-alueeseen
Esimerkki: Tiedostosta lukeminen 1
Alla olevassa esimerkissä luetaan T:-levyn juuressa oleva tekstitiedoston koko sisältö kerralla ja tulostetaan konsolille.
filename = "T:/test.txt"
lines = [""]
try:
file = open(filename, "r")
lines = file.readlines()
except:
print("Failed to read file: " + filename)
finally:
file.close()
print("Tiedosto ", filename)
print(lines)
Esimerkkitulostus: (riippuu tiedoston sisällöstä)

Esimerkki: Tiedostosta lukeminen 2
Alla olevassa esimerkissä luetaan koko tekstitiedoston sisältö kerralla listaan ja käydään for-lauseella läpi rivi kerrallaan.
#By looping through the lines of the file, you can read the whole file, line by line
file = open("c:\\temp\\autot.txt", "r")
print("Luetaan rivi kerrallaan:")
for rivi in file:
print(rivi)
#It is a good practice to always close the file when you are done with it.
file.close()
#lopetus
print("Homma hoidettu")
Tiedostoon kirjoittaminen
Windows-ympäristössä voidaan tiedostoon kirjoittaa useilla eri tavoilla ja sisällöllä riippuen siitä millaisessa kontekstissa ohjelmaa suoritetaan. Tällä kurssilla harjoitellaan tiedostoon kirjoittamista konsoliohjelmasta käsin.
Esimerkki: Tiedostoon kirjoittaminen 1
Kirjoitetaan tekstiä tiedostoon, joka sijaitsee samassa haemistossa kuin Python-ohjelmasi.
#tiedostoon kirjoittaminen 1
filename = "testi.txt"
file = open(filename, "w")
file.write("Tiedoston on luonut minun Python-ohjelmani.")
file.close()
Tiedostoon kirjoittaminen ja sulkeminen onnistuu, jos mitään poikkeusta ei tapahdu. Jos kuitenkin poikkeuksia, silloin tiedosto jää sulkematta.
Esimerkki: Tiedostoon kirjoittaminen 2
Koskaei kannata kirjoittaa tiedostoja minne tahansa, ja lähdekoodikansioon kirjoittaminen ei ole aina suotavaa eikä järkevää, kannattaa ohjata tiedosto esim. käyttäjän kotihakemistoon. Tarvitsemme avuksi os.path -luokkaa, jolta voimme kysyä polkua käyttäjän kotihakemistoon. Sitten voimme luoda sinne uuden tiedoston, johon tiedosto kirjoitetaan.
Alla olevassa esimerkissä tiedosto luodaan Windows-käyttöjärjestelmän käyttäjän kotihakemiston "My Documents" -kansioon. Kirjoitetaan listan alkiot tiedostoon kukin omalle rivilleen. \n on ns. ohjausmerkki ja tarkoittaa uutta riviä eli rivinvaihtoa, se tulee englannin kielen sanasta 'newline'.
import os.path
nimet = ["Allu", "Bella", "Calle"]
polku = os.path.expanduser("~")
tiedosto = "testi.txt"
tiedosto2 = polku + "/"+ tiedosto
file = open(tiedosto2 , "w")
for nimi in nimet:
file.write(nimi + "\n")
file.close()
print(tiedosto2 + " luotu onnistuneesti.")