我正在尝试在python中创建一个非常简单的程序,需要从用户读取输入并相应地写入输出。我需要一个类似于此的输出:
$./program.py
say something: Hello World
result: hello world
问题是我需要无限期地读取输入,每次用户输入数据时我都希望打印数据不会妨碍输入提示。更好的是不打印换行符,保持输出如上:读取行和写入行。
我尝试使用curses,但我不想使用孔屏幕,只需要使用两行。
答案 0 :(得分:3)
我相信这就是你想要的:
import colorama
colorama.init()
no = 0
while True:
user_input = str(raw_input('\033[2A'*no + '\033[KSay something: '))
print '\033[KResult: ' + user_input
no = 1
这是输入字符串后的样子:
此实现适用于Windows,但是,如果您使用Linux,如果我没有记错,这些都不是必需的:
import colorama
colorama.init()
编辑:稍微修改了我的代码,因此它不会覆盖在执行代码之前打印的文本。还添加了工作实施的图像。
答案 1 :(得分:2)
你可以做简单的伎俩:
from os import system
while True:
system('clear') # or 'cls' if you are running windows
user_input = input('say something:')
print('result: ' + user_input)
input()