[python] Buducnost Pythonu: lambda, map, filter

Jan Matejka matejka na cat.cz
Úterý Listopad 14 11:23:52 CET 2006


> 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()

je to spíš jako 
	for line in f.xreadlines():

Kde xreadlines() vrací iterátor, který čte soubor postupně na rozdíl od
readlines který přečte soubor najednou do seznamu řádků.

Přidám se ale k nadávání na odstraňování starých prvků jazyka.  Xreadlines
je od verze 2.3 označeno za zastaralé. 

for line in file("data.txt").xreadlines():
	...

se mi líbí víc než preferované 
for line in file('data.txt')
	...

protože "explicit is better than implicit". Xreadlines() totiž vyjadřuje že
se čte po řádcích a nikoliv po bytech,unicode znacích nebo co já vím jakých
jednotkách v souboru.

Jan Matějka



Další informace o konferenci Python