Как создать приложение на основе интерактивного интерфейса командной строки в python?

Я пишу программу на Python для нашего портативного сканера. Нам приходится сканировать множество штрих-кодов, но я не люблю постоянно нажимать «ввод».

В любом случае, вы можете сказать: во время ввода, если строка, которую вы вводите, состоит ровно из 20 символов, создайте новый ввод?

Я могу подсчитать возвращаемое значение функции raw_input(), но это не совсем то, что мне нужно.


person Polichism    schedule 19.09.2012    source источник
comment
См. это: stackoverflow.com/a/575781/297323   -  person Fredrik Pihl    schedule 19.09.2012
comment
Разве вы не можете заставить сканер отправлять новые строки после каждого штрих-кода? Это довольно распространенная особенность.   -  person Wooble    schedule 19.09.2012


Ответы (1)


Вы можете использовать эту функцию getch.

Небольшой служебный класс для чтения отдельных символов из стандартного ввода в системах Windows и UNIX. Он предоставляет экземпляр, подобный функции getch().

Затем вы можете просто использовать цикл, чтобы получить 20 символов.

import sys
while 1:
    c=''
    while len(c) < 10:
        g = getch()
        sys.stdout.write(g)
        c += g
    print "\nYou said", c
person sloth    schedule 19.09.2012