Tiedostot
Tavoitteet
Tavoitteena on tutustua tiedostojen käytön periaatteisiin ja perustoimintoihin.
Mikä on tiedosto
Tiedosto on tiedon tallennuspaikka, massamuisti, johon tiedot jäävät talteen kun ohjelman käyttö lopetetaan ja virrat laitteista sammutetaan.
Miten tiedosto toimii
Tiedostoon voidaan kirjoittaa (w - write), siitä voidaan lukea tietoa (r - read) ja siihen voidaan lisätä tietoa (a - append).
Jotta tiedostoon voidaan kirjoittaa tai sitä voidaan lukea, on tiedosto ensin avattava ja lopuksi suljettava.
Huomaa!
Tiedostojen peruskäyttöä on vaikea harjoitella pilvessä. Siksi kannattaa aluksi käyttää tietokoneen omaa levymuistia.
Hyvä yleismateriaali
Teemu Sirkiän pdf-dokumentti Ohjelmoinnin perusteet Pythonilla.
Tiedostojen käyttöä alkaen sivulta 50.
Harjoituksia
Etene niin pitkälle kuin ehdit. Kysy rohkeasti apua!
Harjoitus 1
Laadi tekstityyppinen tiedosto nimeltään kirje.txt. Sisältö on vapaa
Tallenna se samaan kansioon kuin koodisi, jotta ohjelma löytää ko. tiedoston.
Kopioi sitten seuraava koodi ja kokeile sen toimintaa.
tiedosto = open("kirje.txt", "r")
for rivi in tiedosto:
rivi = rivi.rstrip()
print(rivi)
tiedosto.close()
Muuta vielä tekstitiedoston sisältöä ja kokeile uudelleen ohjelman toimintaa.
Poista koodista rivi:
rivi = rivi.rstrip()
Tutki, miten ohjelma toimii nyt. Mitä siis rstrip() -metodi näyttäisi siis tekevän?
Harjoitus 2
Kopioi oheinen koodi ja tutki mitä se tekee:
tiedosto = open("diary.txt", "w")
tiedosto.write("Päiväkirja\n")
tiedosto.write("Rakas päiväkirjani,")
tiedosto.close()
Harjoitus 3
Laadi koodi, jolla voit lisätä harjoituksessa 2 syntyneeseen tiedostoon uuden rivin.
Keksi itse jokin yhden rivin mittainen päiväkirjamerkintä. Tämän saa siis "kovakoodata" eli ohjelma lisää rivin.
Huomaa koodissasi aloittaa rivinvaihdolla.
Harjoitus 4
Täydennä edellistä koodia siten, että päiväkirjaan tallennetaan käyttäjältä pyydettävä rivi tekstiä.
Harjoitus 5
Kehitä ohjelmaasi siten, että käyttäjä voi kirjoittaa niin monta riviä kuin haluaa.
Harjoitus 6
Kirjoita tiedostoon nimeltään luvut.txt seuraavat luvut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tee ohjelma, joka lukee tiedot ja laskee luvut yhteen.