[python] Buducnost Pythonu: lambda, map, filter
Jan Janech
devel na atlas.sk
Úterý Listopad 14 11:24:59 CET 2006
Roman Miklos wrote:
> for line in file('data.txt'):
> print line
>
> Mhm, to vyzera naozaj super, na moje pocudovanie tam netreba ani
> otvarat/zatvarat file.
> Len neviem ako to funguje. Nie je to nahodou to iste ako
>
> f = open("data.txt")
> for line in f.readlines():
> print line
> f.close()
>
> t. j., ze vsetky riadky sa nacitaju naraz do zoznamu a potom sa cez ten
> zoznam iteruje?
> To by bolo potom z hladiska vyuzitia pamati nieco uplne ine ako ten
> priklad co som uviedol dole,
> kde citam subor riadok po riadku.
Pozeral som do zdrojakov pythonu, __iter__ vracia sam seba. Potom metoda
next() file objectu vola priamo Cckova fcia readahead_get_line_skip,
ktora nacita riadok.
Co sa tyka otvarania suboru, open je len alias na file, takze otvarat ho
treba :)
A co sa tyka zatvarania suboru (tiez som pozeral v zdrojakoch - pre
istotu), ked zrusis referenciu na subor, tak sa automaticky zavrie.
Teda:
f = open("data.txt")
del f
a
f = open("data.txt")
f.close()
spravia to iste: zavru subor.
Další informace o konferenci Python