Форум сайта python.su
0
Всем привет, нужно что бы при работе скрипта одну строку заменяла другая, а не так что бы они печатались последовательно вниз. Так вот почему вот так работает -
import sys, time
for i in range(1, 101, 5):
sys.stdout.write("\r ... %s%%" % i)
sys.stdout.flush()
time.sleep(0.05)
import sys, time
for i in open("input.txt", "r").readlines():
sys.stdout.write("\r ... %s" % i)
sys.stdout.flush()
time.sleep(0.05)
Офлайн
18
import sys, time for i in open("input.txt", "r").readlines(): sys.stdout.write("\r ... %s" % i.strip()) sys.stdout.flush() time.sleep(0.05)
Офлайн
0
Спасибо, в таком виде работает, но в классах все равно не хочет почему то … Ну да ладно, мб потом разберусь …
Офлайн
14
MozartПотому, что посмотри, что возвращает readlines(). Надо перенос строки откусывать.
А так нет?
import sys, time for i in file("input.txt", "r"): print "\r ... %s%%" % i.rstrip('\r\n'), time.sleep(0.05)
Офлайн
173
Еще можно (если файл в память убирается)
for line in f.read().splitlines():
Отредактировано reclosedev (Авг. 13, 2012 19:30:52)
Офлайн