dodao cas3, cas4, napravio dir strukturu
This commit is contained in:
83
Cas8/fajlovi.py
Normal file
83
Cas8/fajlovi.py
Normal file
@@ -0,0 +1,83 @@
|
||||
# fajlovi
|
||||
|
||||
# Kako manipulisemo fajlovima?
|
||||
# Kako citamo fajlove?
|
||||
# Kako kreiramo fajlove?
|
||||
# Kako pisemo (dodajemo sadrzaj) u fajlove?
|
||||
|
||||
# Da bi otvorili fajl (za citanje ili pisanje) u python-u, koristimo funkciju:
|
||||
# open
|
||||
# argumenti za funkciju `open` su:
|
||||
# - ime fajla (onog koji zelimo da otvorimo),
|
||||
# - mod
|
||||
|
||||
# Objasnjenje za modove:
|
||||
# Oni govore pajtonu sta planiramo da radimo sa tim fajlom. Neki od ponudjenih
|
||||
# i najcesce koriscenih modova su:
|
||||
# - "w" za pisanje, ako fajl ne postoji, kreira se novi, ako fajl postoji,
|
||||
# sve u njemu se brise i onda mozemo da pisemo u taj fajl
|
||||
# - "a" za pisanje, nalik na "w" samo sto mod "a" ne brise fajl nego dodaje
|
||||
# - "r" za citanje
|
||||
|
||||
# znaci da bi otvorili neki fajl (tekstualni fajl) i njegov sadrzaj zabelezili
|
||||
# u promenljivoj (tipa string) mozemo da uradimo sledece:
|
||||
|
||||
neki_fajl = open("tekst.txt", "r") # tekst.txt je fajl koji se nalazi u istom
|
||||
# folderu kao i ovaj fajl (fajlovi.py)
|
||||
|
||||
sadrzaj_fajla = neki_fajl.read()
|
||||
|
||||
print(sadrzaj_fajla)
|
||||
|
||||
neki_fajl.close() # sve fajlove koje otvorimo moramo i da zatvorimo!!!
|
||||
# inace rizikujemo da se desi korupcija fajla
|
||||
|
||||
# ako otvorimo neki fajl, i 2 puta pokusamo da procitamo njegov sadrzaj, samo
|
||||
# prvi put cemo procitati taj sadrzaj; tj. citanje fajla, "konzumira" taj fajl!
|
||||
# !! to ne znaci da ce fajl biti obrisan !!
|
||||
|
||||
|
||||
fajl = open("tekst.txt", "r")
|
||||
|
||||
print(fajl.read())
|
||||
print(fajl.read()) # ovde necemo stampati nista, zato sto je fajl vec procitan
|
||||
# ako zelimo ponovo da procitamo isti fajl, moramo ga prvo
|
||||
# zatvoriti pa ponovo otvoriti
|
||||
fajl.close()
|
||||
|
||||
# druge metode (osim read()) koje mozemo koristiti su:
|
||||
# - readline() koji cita jednu liniju fajla (vraca nam string)
|
||||
# - readlines() koji cita sve linije fajla i vraca nam niz linija
|
||||
# - write(tekst) koji upisuje zadati tekst (argument tipa string) u zeljeni fajl
|
||||
|
||||
# u python-u, mozemo iterirati preko fajlova (kao i sa nizovima i recnicima)
|
||||
|
||||
deniro_fajl = open("deniro.csv","r")
|
||||
|
||||
filmovi = {}
|
||||
# ako pogledate fajl "deniro.csv", sastoji se od jedne linije koja opisuje redove
|
||||
# fajla, a ostatak fajla su pomenuti redovi u formatu:
|
||||
# vrednost, vrednost, vrednost
|
||||
# !! pogledati fajl "deniro.csv" !!
|
||||
|
||||
fajl.readline() # da "preskocimo" prvu liniju fajla
|
||||
|
||||
for linija in fajl:
|
||||
linija = linija.strip() # uklanjamo '\n' (znak za novi red) iz linije
|
||||
# zatim delimo liniju na 3 dela (za 2 reza..), gde su delovi:
|
||||
# godina kada je film objavljen, rejting filma i naslov filma
|
||||
godina, rejting, naslov = linija.split(", ", 2)
|
||||
filmovi[naslov] = (rejting, godina)
|
||||
|
||||
# sada u recniku "filmovi" koji smo definisali iznad, imamo parove
|
||||
# film => (rejting, godina)
|
||||
|
||||
# to mozemo da iskoristimo da nadjemo npr:
|
||||
# - sve filmove odredjene godine (npr. pitamo korisnika koju godinu zele, i onda
|
||||
# ispisemo sve filmove od te godine, sortirane po rejtingu)
|
||||
# - najbolje ocenjeno filmove
|
||||
# - da vrsimo pretragu nad filmovima (npr. pitamo korisnika koji film zeli, i
|
||||
# onda ispisemo godinu izlaska tog filma i njegov rejting, a ako u recniku
|
||||
# nemamo taj film, onda ispisemo da nemamo trazeni film)
|
||||
|
||||
# ovo sve mogu biti zadaci za domaci!
|
Reference in New Issue
Block a user