Python: простой графический интерфейс пользователя - PullRequest
0 голосов
/ 10 февраля 2010

Простой вопрос по модулю Python. Допустим, у меня есть следующий код:

for i in range(1000):
  print i

Он выведет что-то вроде:

1

2

Снип '

999

Возможно ли, чтобы программа выводила все числа в одной строке? Я не говорю о "1, 2, 3 ..", скорее я хочу, чтобы значение строки изменилось на текущее значение i

Ответы [ 5 ]

3 голосов
/ 10 февраля 2010

Если вы хотите, чтобы символ каждый раз перезаписывался / заменялся, вам может потребоваться использовать библиотеку управления терминалом, такую ​​как «curses». Вот статья Python с практическими рекомендациями , с которой можно начать.

3 голосов
/ 10 февраля 2010

Если вы хотите нарисовать графический интерфейс внутри терминала, вам придется использовать модуль curses .

2 голосов
/ 10 февраля 2010
import os

for i in range(1000):
  print i
  os.system("clear")

edit: как указано в комментарии ниже, при использовании windows измените «clear» на «cls».

2 голосов
/ 10 февраля 2010

Для простого случая следующий код работает просто отлично:

sys.stdout.write(str(i)+'\r')
sys.stdout.flush()
1 голос
/ 10 февраля 2010

Текст, напечатанный на стандартный вывод, не может быть динамически изменен. Вам нужно использовать панель.

http://docs.python.org/library/curses.panel.html

Инициализируйте новую панель, а затем используйте Panel.set_userptr (obj) в вашем цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...