Linux Python CLI, ввод пользовательских команд, в то время как сама программа часто печатает текст на консоль, очень важна, но ее очень сложно найти. При использовании обычного подхода всегда отображайте грязную консоль, смешанную с входами и выходами .
Output> Print Program Genarated Messages
comOutput> Print Program Genarated Messages
mand1Output> Print Program Genarated Messages
Input < command1
Output> Print Program Genarated Messages
Output> Print Program Genarated Messages
Output> Print Program Genarated Messages
commanOutput> Print Program Genarated Messages
d2
Input < command2
Output> Print Program Genarated Messages
Output> Print Program Genarated Messages
command3
Input < command3
Output> Print Program Genarated Messages
Output> Print Program Genarated Messages
Output> Print Program Genarated Messages
exit
Input < exit
Этот вывод неудобен для пользователей. Я заметил, что некоторые базовые консольные программы используют фиксированную линию для пользовательского ввода, например VI Editor
. Как я могу добиться такой функции консоли , как эта в моей программе, чтобы нижняя строка всегда была выделена для ввода пользователя, а вывод программы всегда печатался над ней. Сильфонный код демонстрирует основную c структуру моей программы, одновременные входы и выходы .
import threading
import time
run = True
#print program information
def ProgramGenaratedMessages():
while run:
print("Output> Print Program Genarated Messages")
time.sleep(4)
timer = threading.Thread(target=ProgramGenaratedMessages)
timer.start()
#take user inputs
while run:
input = raw_input()
print 'Input < ' + input
if input.lower() == 'exit':
run = False