Найти - Пользователи
Полная версия: Динамическое поле
Начало » Python для новичков » Динамическое поле
1
andreiru
Здравствуйте!
Подскажите как правильно добиться такого эффекта:

import os
for x in range(500):
os.system('clear')
print 'Динамическое поле\n-----------------'
print 'x:', x
И вообще возможно ли такое, или это через Tkinter нужно делать ?
aaleksander
Если я правильно понял задачу, то надо копать в сторону ljust/rjust.
igor.kaist
Смотрите в сторону curses. Если нужно GUI, то на любом тулките это можно сделать легко. На tkinter смотрите canvas
Dimitor
вот такой вариант я использую, чтобы скрасить вычисления долгими зимними вечерами (работает только в консоли, в idle не прокатит)…

def delay_function():
'''тяжелая функция'''
l = []
for j in range(100):
l.append(file(__file__).readlines())

def cycle_gen(seq):
'''генератор "бегунка"'''
i=-1
while True:
i+=1
if i>=len(seq):
i=0
yield seq[i]

roller = cycle_gen(['|','/','-','\\'])

SIZE = 1000
for i in xrange(SIZE):
delay_function()
# переводим курсор в начало строки и пишем поверх
print '%s%d%% calculated...%s' % ('\b'*50, int(float(i)/SIZE*100), roller.next()),
ЗЫ если комп сильно мощный - увеличивайте количество итераций
bazooka
def cycle_gen(seq):
http://docs.python.org/library/itertools.html#itertools.cycle

и
>>> print('12\b34')
134
>>> print('12\r34')
34
и для тех у каво комп совсем мощный
def delay_function():
time.sleep(random.random() / 4)
xa4a
http://code.google.com/p/python-progressbar/
xa4a
ещё google://python+spinner
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB