Sveiki, toks gal ir paprastas klausimas, bet man nesiseka jo išspręsti. Turiu tokią simple programėlę:
#!/usr/bin/python2.6 import time if __name__ == "__main__": print "Starting to sleep.. ", time.sleep(5) print "done!"
Kaip man išvesti į ekraną realiu laiku ir vienoje eilutėje tuos du print sakinius? Nes dabar išveda, tik kai pabaigia sleep komandą...
Jeigu kam reikės, tai galima padaryti taip:
import time, sys if __name__ == "__main__": print "Sleeping...", sys.stdout.flush() time.sleep(5) print "done"
o yra galimybe issivesti sleep metu i ekrana to taimerio reiksmes, na kad butu matyt kiek liko iki sleep pabaigos. tarkim jei turim time.sleep(60), tai kad ekrane butu matyti tiksincios sekundes iki 60?
Beje, tas flush reikalingas tik and linux, ant windows veikia ir be jo.
Dėl sleep išvedimo į ekraną tai nemanau, kad galima, bet nesunku pasirašyti, kad išvestų tai ko nori, pvz:
import time if __name__ == "__main__": for i in range(60, 1, -1): print i time.sleep(1)
Pasižiūrėjau pas save. Jei po print "Sleeping...", pašalini kablelį, tai išveda iš karto, jei su kableliu, tada neišveda.
Taip, bet pašalinus kablelį išveda naujoj eilutėj, o aš noriu toj pačioj eilutėj išvesti.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=11&t=5255
Sveiki, toks gal ir paprastas klausimas, bet man nesiseka jo išspręsti. Turiu tokią simple programėlę:
Kaip man išvesti į ekraną realiu laiku ir vienoje eilutėje tuos du print sakinius? Nes dabar išveda, tik kai pabaigia sleep komandą...
Jeigu kam reikės, tai galima padaryti taip:
o yra galimybe issivesti sleep metu i ekrana to taimerio reiksmes, na kad butu matyt kiek liko iki sleep pabaigos. tarkim jei turim time.sleep(60), tai kad ekrane butu matyti tiksincios sekundes iki 60?
Beje, tas flush reikalingas tik and linux, ant windows veikia ir be jo.
Dėl sleep išvedimo į ekraną tai nemanau, kad galima, bet nesunku pasirašyti, kad išvestų tai ko nori, pvz:
Pasižiūrėjau pas save. Jei po print "Sleeping...", pašalini kablelį, tai išveda iš karto, jei su kableliu, tada neišveda.
Taip, bet pašalinus kablelį išveda naujoj eilutėj, o aš noriu toj pačioj eilutėj išvesti.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=11&t=5255