CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, Luento-opetus, 24.4.2023-30.6.2023
Kurssiasetusten perusteella kurssi on päättynyt 30.06.2023 Etsi kursseja: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Tiedostojen avaaminen ja käsittely
Tiedostojen avaaminen open-funktiolla
Tiedostot avataan Pythonissa open-funktiolla, jota kutsutaan näin:
tiedosto = open(tiedoston_nimi_merkkijonona, tila)
Esimerkiksi komento
datat = open("data.txt", "r")
avaa tiedoston data.txt lukemista varten (parametrin tila arvo on "r", eli read).
Toinen esimerkki, missä kysytään avattavan tiedoston nimi käyttäjältä:
nimi = input("Anna avattavan tiedoston nimi") tiedosto = open(nimi, "r")
Oletuksena avattava tiedosto avataan samasta hakemistosta, missä ohjelmaa suoritetaan. Tyypillisesti tämä on sama hakemisto, missä ohjelman .py-tiedosto sijaitsee.
Voit antaa avattaessa myös kokonaisen tiedostopolun:
datat = open("Z:\datat\data.txt", "r")
Parametrin tila tyypillisimmät arvot ovat
- "r" eli read: avataan tiedosto lukemista varten:
- "w" eli write: avataan tiedosto kirjoittamista varten:
- Jos tiedostoa ei ole olemassa, open luo uuden tiedoston
- Jos tiedosto on jo olemassa, open luo uuden tyhjän tiedoston olemassaolevan tiedoston päälle
- "a" eli append: avataan tiedosto kirjoittamista varten:
- Jos tiedostoa ei ole olemassa, open luo uuden tiedoston
- Jos tiedosto on jo olemassa, tiedostoon kirjoitettavat tiedot lisätään sen loppuun (ei tyhjennä tiedostoa kuten "w")
Tiedostojen käsittely
open-funktio joka palauttaa ns. tiedosto-olion. jonka avulla tiedostoa voi käsitellä. Avataan tiedosto mittaukset.txt lukemista varten:
mittaukset = open("Z:\fyke\mittaukset.txt", "r")
Muuttuja mittaukset on nyt tiedosto-olio, jonka avulla tiedostoa käsitellään. Esimerkiksi ensimmäisen rivin lukeminen tiedostosta onnistuisi näin:
rivi = mittaukset.readline()
Tiedoston lukemisesta ja tiedostoon kirjoittamisesta kerrotaan lisää yksityiskohtia seuraavassa luvussa. Tällä kurssilla käsittelemme vain tekstitiedostoja ja tähän käytämme pääasiassa for-silmukkaa.
Tiedostojen sulkeminen close-funktiolla
Kun tiedoston käsittely lopetetaan se pitää sulkea close-funktiolla:
mittaukset = open("Z:\fyke\mittaukset.txt", "r") rivi1 = mittaukset.readline() print("Eka rivi:", rivi1) mittaukset.close()
Tiedoston sulkeminen on erittäin tärkeää! Jos kirjoitat tiedostoon, mutta jätät tiedoston sulkematta, tiedot eivät välttämättä tallennu!
Tehtävä 5.1.1