Professional Documents
Culture Documents
- Datotečni podsustav ( file system ) – dio operacijskog sustava koji upravlja radom sa
datotekama
- U datotekama trajno spremamo informacije, a preko njih i razmjenjujemo informacije
između različitih programa
- Znakovne datoteke ( nastavak txt ) – možemo ih promatrati kao stringove
- Povezivanje Pythona sa datotekom sa kojom će raditi – funkcija open za otvaranje
datoteke
open( putanja do datoteke, način uporabe )
dat = open( 'D:\\PY\\proba.txt', 'r' )
- Načini uporabe datoteke u funkciji open:
o 'r' – datoteka se otvara za čitanje. Ako datoteka ne postoji javlja grešku
o 'w' – datoteka se otvara za pisanje. Ako postoji datoteka sa tim imenom njen
se cijeli sadržaj briše i u datoteku se upisuje novi sadržaj. Ako datoteka ne
postoji stvara se nova datoteka s navedenim imenom.
o 'a' – datoteka se otvara za dodavanje novih podataka. Postojeći sadržaj neće
se mijenjati
- Čitanje datoteke – funkcija read()
Ako unutar zagrada funkcije read stavimo neki parametar ( broj ) to će označavati
koliko bajtova čita funkcija ( 1 bajt - 1 znak )
dat = open( 'D:\\PY\\proba.txt', 'r' )
print(dat.read(3))
- Ako u nastavku gornjeg primjera napišemo
print(dat.read())
Ispisati će se i preostali dio datoteke, od 4 bajta do kraja
- Zatvaranje datoteke
Nakon prestanka uporabe datoteke moramo ju zatvoriti – funkcija close()
dat.close()
- Pisanje u datoteku – funkcija write()
dat = open( 'D:\\PY\\nova.txt', 'w' )
dat.write('Dobar dan')
dat.close()
U gornjem primjeru zapisati će se tekst Dobar dan u datoteku nova.txt. S obzirom da
datoteka ranije nije postojala ona je kreirana u mapi PY
Da smo isti tekst zapisivali u datoteku proba.txt, koju smo koristili ranije, stari sadržaj
datoteke bio bi zamijenjen novim.
- Pisanje u datoteku – funkcija write() – dodavanje podataka
dat = open( 'D:\\PY\\proba.txt', 'a' )
dat.write('\nDobar dan')
dat.close()
U gornjem primjeru postojećem smo sadržaju datoteke dodali string Dobar dan i to u
novi redak, jer smo koristili \n
- Čitanje redka u datoteci – funkcija readline()
dat = open( 'D:\\PY\\proba.txt', 'r' )
print(dat.readline())
dat.close()
Funkcija readline() čita jedan redak datoteke
- Čitanje svih redaka datoteke – funkcija readlines()
dat = open( 'D:\\PY\\proba.txt', 'r' )
print(dat.readlines())
dat.close()
Ova funkcija datoteku zapravo pretvara u listu pa bismo dobili sljedeći ispis:
['Prvi red\n', 'Drugi red\n', 'Treći red\n', 'Četvrti
red\n', 'Peti red\n', 'Dobar dan']
- Datoteku možemo jednostavno „prepisati“ u listu:
dat = open( 'D:\\PY\\proba.txt', 'r' )
lista=dat.readlines()
dat.close()
print(lista[2])
U ovom primjeru vidimo da smo datoteku prebacili u listu i zatim ispisali 2. element
liste ( treći redak datoteke jer indeksi započinju od 0 )
- Uporabom iteracije jednostavno iz liste možemo ispisati cijelu datoteku:
dat = open( 'D:\\PY\\proba.txt', 'r' )
lista=dat.readlines()
dat.close()
for redak in lista:
print(redak)
- Metoda tell() – vraća trenutni položaj pokazivača u datoteci
dat = open( 'D:\\PY\\proba.txt', 'r' )
lista=dat.readline()
print(dat.tell())
dat.close()