Найти - Пользователи
Полная версия: Создание меню
Начало » Python для новичков » Создание меню
1
БелыйКлык
Подскажите пожалуйста способ создания какого нибудь меню в КОНСОЛЬНОМ приложении. Гуглил - ничего толкового не нашёл.
И ещё вопрос: у меня программа создаёт бэкап данных в архиве. Как можно сделать полосу загрузки или хотябы просто чтобы пока данные копируются чтобы через определённые промежутки времени на экран выводился заданный символ.
sumrak_ss
БелыйКлык
Подскажите пожалуйста способ создания какого нибудь меню в КОНСОЛЬНОМ приложении. Как можно сделать полосу загрузки .
Здесь тебе и меню и прогрессбар http://www.python.su/forum/viewtopic.php?id=6590
regall
sumrak_ss
Подскажите пожалуйста способ создания какого нибудь меню в КОНСОЛЬНОМ приложении
http://excess.org/urwid/, http://docs.python.org/library/curses.html
БелыйКлык
sumrak_ss
Здесь тебе и меню и прогрессбар http://www.python.su/forum/viewtopic.php?id=6590
Тама про виндовые =( Нашёл как сделать меню в линуксе, но и тут не всё в порядке.
Нашёл такой код:
tty.setraw(sys.stdin.fileno())
vib = sys.stdin.read(1)
Из-за tty.setraw(sys.stdin.fileno()) текст смещается вправо, и работает перехват нажатия только один раз =( А без этой строки ничего не перехватывается =(

regall
http://excess.org/urwid/, http://docs.python.org/library/curses.html
I'am no speak is English
sumrak_ss
БелыйКлык
Тама про виндовые =( Нашёл как сделать меню в линуксе, но и тут не всё в порядке.
Работает в линуксе

import termios, fcntl, sys, os
fd = sys.stdin.fileno()

oldterm = termios.tcgetattr(fd)
newattr = termios.tcgetattr(fd)
newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
termios.tcsetattr(fd, termios.TCSANOW, newattr)

oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)

try:
while 1:
try:
c = sys.stdin.read(1)
print "Got character", `c`
except IOError: pass
finally:
termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
БелыйКлык
Жалуется на
sumrak_ss
print “Got character”, `c`
пробовал всё взять в скобки, тоже не работает. (Python 3.1)
Если удалить ‘c’ то работает. но ничего не читает и зацикливается
Ferroman
Срочно читать хотя бы что-нибудь по питону. Особенно 3.1.
Правда, я сомневаюсь что есть не-англоязычная литература по 3-му питону.
БелыйКлык
Есть, уже начал изучать (не книга правда а wiki). Просто меню уже для практических целей нужно. Пока пришлось реализовать через командную строку =(
sumrak_ss
Ferroman
Правда, я сомневаюсь что есть не-англоязычная литература по 3-му питону.
Почему, есть полный перевод Марк Саммерфилд “Програмирование на Python 3. Подробное руководство” http://ruszona.ru/2009/09/26/programmirovanie-na-python-3.html
laandrey
вот пример сканера:

import termios, sys, os

TERMIOS = termios

def getkey():
fd = sys.stdin.fileno()
old = termios.tcgetattr(fd)
new = termios.tcgetattr(fd)
new[3] = new[3] & ~TERMIOS.ICANON & ~TERMIOS.ECHO
new[6][TERMIOS.VMIN] = 1
new[6][TERMIOS.VTIME] = 0
termios.tcsetattr(fd, TERMIOS.TCSANOW, new)
c = None
try:
c = os.read(fd, 1)
finally:
termios.tcsetattr(fd, TERMIOS.TCSAFLUSH, old)
return c


if __name__ == '__main__':
print 'type something'
s = ''
while 1:
c = getkey()
if c == '\n': ## break on a Return/Enter keypress
break
print 'got', c
s = s + c
print c
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