[python] Bug v print? Nebo normalni chovani.

Jan Vrana jvrana na vranovi.info
Středa Duben 11 15:31:01 CEST 2007


Je to bug nebo ne?

[ Honza Vrana ]
Kdysi jsem tohle resil v perlu a pokud jsi dobre pamatuju je to 
zalezitost daneho terminalu.

Naprikla primo na linuxove konzoly to funguvlo tak ze se znak ihned 
vypsal, kdyz byl clovek prihlasen po SSH tak to odesila po celem radku.

Pokud si pamatuju nejakou promenou prostredi se dal treba telnet 
nastvyt, zda odesila ihned nebo az po znaku enter.

Ono to ma logiku pokud mate na siti prenosovej paket o velikosti napr 
64B tak je rozdil jestli pro 30 znaku odeslete jeden paket nebo nebo 30 
paketu.

Pokud tedy potrebujete aby aplikace vypisovala postupne na jeden radek, 
treba kdyz "teckujete" prubeh programu. Tak je dobre drzet se Zenoveho 
pravidla "Explicit is better than implicit." a prikazem 
sys.stdout.flush() vypraznit vystupni buffer.

Krasny priklad na takovy merak prubehu naleznete zde sys.stdout.flush().

S pozdravem Honza Vrana



Další informace o konferenci Python