Ohjelmoinnin peruskurssi Y1

Samankaltaiset tiedostot
Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Ohjelmoinnin perusteet Y Python

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmoinnin perusteet Y Python

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Java-kielen perusteita

Ohjelmoinnin peruskurssi Y1

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely


Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Harjoitus 5 (viikko 48)

Ohjelmoinnin perusteet Y Python

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

12. Näppäimistöltä lukeminen 12.1

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin jatkokurssi, kurssikoe

Harjoitustyö: virtuaalikone

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Korpusten käsittely clt131, P Luento 5

Luento 5. Timo Savola. 28. huhtikuuta 2006

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

CLASSIC WINTIME - TOIMITTAJAN ENNAKKOPERINTÄREKISTERIPÄIVÄ

Ohjelmoinnin perusteet, syksy 2006

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

14. Poikkeukset 14.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Transkriptio:

Ohjelmoinnin peruskurssi Y1 CS-A1111 CS-A1111 Ohjelmoinnin peruskurssi Y1 1 / 11

Tiedostojen käsittely CS-A1111 Ohjelmoinnin peruskurssi Y1 2 / 11

Oppimistavoitteet: tämän videon jälkeen Tiedät, miten ohjelman käsitelemää tietoa voi säilyttää ohjelman suorituskerrasta toiseen käyttämällä hyväksi tiedostoja. Osaat kirjoittaa ohjelman, joka lukee rivejä tekstitiedostosta. CS-A1111 Ohjelmoinnin peruskurssi Y1 3 / 11

Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä tietoa halutaan säilyttää ohjelman suorituskerrasta toiseen (esim. puhelinluettelo, opiskelijarekisteri). Halutaan, että käyttäjän ei tarvitse syöttää ohjelman lähtötietoja jokaisella suorituskerralla (esim. mittaussarjan parametrit). Ohjelman on käsiteltävä jonkun muun ohjelman tuottamaa dataa. Ohjelma lukee tarvittavat lähtötiedot tiedostosta. Jos ohjelma tekee tietoihin muutoksia ja muuttuneita tietoja halutaan käyttää seuraavalla suorituskerralla, ohjelma kirjoittaa muuttuneet tiedot tiedostoon. CS-A1111 Ohjelmoinnin peruskurssi Y1 4 / 11

Tiedoston avaaminen Kerrottaan, mitä fyysistä tiedostoa ohjelman muuttuja vastaa. Samalla tietokoneen käyttöjärjestelmä varautuu käsittelemään ko. tiedostoa. Tätä kutsutaan tiedoston avaamiseksi, esimerkki tiedostomuuttuja = open("teksti.txt","r") Ensimmäinen parametri on käsiteltävän tiedoston nimi käyttöjärjestelmässä. Tarvittaessa sen pitää sisältää polku tiedoston hakemistoon. Toinen parametri kertoo tiedoston käsittelytavan: r lukeminen w kirjoittaminen, vanha sisältö häviää a kirjoittaminen, kirjoitetaan vanhan sisällön perään. CS-A1111 Ohjelmoinnin peruskurssi Y1 5 / 11

Poikkeusten käsittely tiedostojen kanssa Tiedostoja avatessa voi tapahtua poikkeuksia, joten poikkeusten käsittely try except-rakenteella on syytä tehdä aina, kun luetaan tiedostosta tai kirjoitetaan tiedostoon. Tiedoston avaaminen lukemista varten voi aiheuttaa poikkeuksen, jos tiedostoa ei ole tai sitä ei pystytä jostain muusta syystä lukemaan. Tiedoston käsittelyyn liittyvien poikkeusten ylätyyppinä on OSError-tyyppinen poikkeus. CS-A1111 Ohjelmoinnin peruskurssi Y1 6 / 11

Tiedoston sulkeminen Kun tiedoston lukeminen päättyy, tiedosto pitää sulkea close-käskyllä: tiedostomuuttuja.close() CS-A1111 Ohjelmoinnin peruskurssi Y1 7 / 11

Rivin lukeminen tekstiä sisältävästä tiedostosta Jos muuttuja tiedostomuuttuja viittaa lukemista varten avattuun tiedostoon, niin siitä voi lukea rivin kerrallaan metodin readline avulla seuraavasti: luettu_rivi = tiedostomuuttuja.readline() Luettu rivi sisältää myös sen lopussa olevan rivinvaihtomerkin. Seuraava readline-käsky lukee tiedoston seuraavan rivin jne. Jos tiedosto on jo luettu loppuun ja kutsutaan readline-metodia, se palauttaa arvona tyhjän merkkijonon "" CS-A1111 Ohjelmoinnin peruskurssi Y1 8 / 11

Esimerkkiohjelma tiedoston lukemisesta def main(): try: lahtotiedosto = open("tekstia.txt", "r") rivi = lahtotiedosto.readline() while rivi!= "": print(rivi) rivi = lahtotiedosto.readline() lahtotiedosto.close() except OSError: print("virhe tiedoston lukemisessa. Ohjelma paattyy.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 9 / 11

Rivinvaihtomerkistä Edellisen videon ohjelma tulostaa ylimääräisen tyhjän rivin jokaisen rivin jälkeen. Tämä johtuu siitä, että tiedostoista luettujen rivien lopussa on rivinvaihtomerkki. Jos ylimääräiset rivinvaihdot voidaan välttää poistamalla rivinvaihtomerkki rivin lopusta ennen tulostamista. Yksi tapa poistaa rivinvaihtomerkki on käyttää metodia rstrip. Se poistaa kuitenkin myös muut tyhjät merkit rivin lopusta. CS-A1111 Ohjelmoinnin peruskurssi Y1 10 / 11

Parannettu versio tiedostonlukuohjelmasta def main(): nimi = input("anna luettavan tiedoston nimi: ") try: lahtotiedosto = open(nimi, "r") rivi = lahtotiedosto.readline() while rivi!= "": rivi = rivi.rstrip() print(rivi) rivi = lahtotiedosto.readline() lahtotiedosto.close() except OSError: print("virhe tiedoston", nimi, "lukemisessa. Ohjelma paattyy.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 11 / 11