[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