Python - Delo z datotekami

Python - Delo z datotekami

Avtor: Branko Šarabon

Učni cilji: Python - Delo z datotekami

Ustvarjanje datoteke

Datoteko ustvarimo z ukazom:

  •  open (niz, 'w')

    •  primer: open ('tekst.txt', 'w')

OPOZORILO! Če datoteka z imenom tekst.txt že obstaja, bomo s tem izgubili staro vsebino.

Datoteka se ustvari v imeniku, kjer se program izvaja. Lahko tudi določimo pot, kjer se datoteka ustvari. Ta pot je lahko:

  • relativna:

    • teksti\tekst.txt
  • absolutna:

    • c:\teksti\tekst.txt

Opozorilo: V Pythonu velja \ za poseben znak. Če ga želimo pravilno uporabiti, ga zapišemo \\

Torej: c:\\teksti\\tekst.txt

Ustvarjanje datoteke - Vaja

VAJA:

Ustvari datoteko vaja.txt v imeniku c:\pj\DN2\vaja.txt . Pozor na znak \ .

REŠITEV:

(DN2/1.png)

PREVERBA:

(DN2/2.png)

Ustvarjanje datoteke

Sedaj v imeniku c:\pj\DN2 ustvarimo še datoteke vaja1.txt , vaja2.txt in vaja3.txt .

REŠITEV:

(DN2/3.png)

PREVERBA:

(DN2/4.png)

Ponovno ustvarimo datoteko vaja.txt .

Kaj opazimo? Trenutno še nič, bomo preverili kasneje, ko bomo v datoteki vaja.txt imeli kaj vsebine.

Branje datoteke

Datoteko lahko tudi samo odpremo za branje. Kadar rabimo samo podatke iz datoteke za obdelavo, jo odpremo samo za branje. V tem primeru na datoteko ne moremo dopisati nove vsebine. To bi storili takole:

  • open (niz, 'r')

    • primer: open ('tekst.txt', 'r')

Stikalo 'r' torej pomeni, da bomo odprli datoteko samo za branje - read.

Pisanje na datoteko

Ukaz open nam datoteko ustvari ('w'). Pove pa nam tudi njeno logično oznako. Če jo shranimo v spremenljivko, jo potem v programu lahko tudi pokličemo.

  • tekst = open ('c:\\pj\\DN2\\vaja.txt', 'w')

Ukaz za pisanje:

  • write (niz)

Torej lahko na našo datoteko zapišemo takole:

  • tekst.write ('Zapisal bom nekaj vsebine.')

Če dodamo še nekaj:

  • tekst.write ('Zapisal bom še nekaj vsebine.')

V bistvu sem naredil tole:

  • tekst.write ('Zapisal bom nekaj vsebine.Zapisal bom še nekaj vsebine.')

Če bi želeli izpisati vsak zapis v novo vrsto bi morali na koncu postaviti kazalko v novo vrsto --> KAKO? (namig: \n)

(DN2/5.png)

Če bomo preverili datoteko vaja.txt bomo ugotovili, da je le-ta še vedno prazna. V njej ni navedenega besedila.

Če želimo v datoteki tudi dejansko imeti besedilo, to storimo z ukazom:

  • close()

Pisanje na datoteko

Program:

(DN2/6.png)

Tekstovna datoteka:

(DN2/7.png)

Ponovno ustvarimo datoteko vaja.txt . Uporabimo:

tekst = open('c:\\pj\\DN2\\vaja.txt', 'w')

tekst.close()

Kaj opazimo?

(DN2/8.png)

vaja.txt je prazna, torej smo izgubili našo vsebino.

Pisanje na datoteko

Če bi želeli obdržati vsebino in jo morebiti tudi dopolniti, bi morali uporabiti sledeči ukaz:

  • tekst = open ('c:\\pj\\DN2\\vaja.txt', 'a')

Stikalo 'a' pomeni append (dodajanje)!

Datoteko ravno tako odpremo za pisanje. Razlika je v tem, da mora taka datoteka že obstajati. S tem ukazom se postavimo na konec datoteke in vse kar nanjo pišemo, se doda na konec.

PRIMER (če bi nadaljevali pri prejšnjem primeru):

Program:

(DN2/9.png)

Tekstovna datoteka:

(DN2/10.png)

Pisanje na datoteko

Vprašanje 1

Na datoteko podatki.txt , ki se nahaja v isti mapi kot naš python program želimo dodati nekaj vsebine. Kakšen ukaz bi uporabili za pravilno odprtje datoteke?

open ('podatki.txt', 'r')
open ('podatki.txt', 'w')
open ('podatki.txt', 'a')

Pravilno

Tako je. Stikalo 'a' pomeni append - dodaj.

Naprej

Napačno

Ne bo šlo. Poglej razlago in se poduči, kaj pomenijo stikala 'r', 'w', 'a'.

Nazaj

Vprašanje 2

Imamo datoteko podatki.txt. Nato smo izvedli sledeč ukaz:  open ('podatki.txt', 'w')  Kaj se je zgodilo z datoteko?

Datoteka se ni spremenila.
Ustvarili smo kopijo datoteke.
Izgubili smo vsebino datoteke.

Pravilno

Tako je. Pripravili smo novo prazno datoteko podatki.txt in jo pripravili za pisanje.

Naprej

Napačno

Ni res. Stikalo 'w' datoteko odpre za ..., in izbriše ...

Nazaj

Vprašanje 3

stikalo 'r'
stikalo 'w'
stikalo 'a'
odpre datoteko za branje
odpre datoteko za pisanje
odpre datoteko za dodajanje

Preveri

Pravilno

Uspel si. Čestitam.

Naprej

Napačno

Še enkrat si oglej predstavitev in natančno preuči stikala. Nazaj

0%
0%