在python

时间:2016-10-05 14:23:52

标签: python terminal

我正在尝试在python中创建一个非常简单的程序,需要从用户读取输入并相应地写入输出。我需要一个类似于此的输出:

$./program.py
say something: Hello World
result: hello world

问题是我需要无限期地读取输入,每次用户输入数据时我都希望打印数据不会妨碍输入提示。更好的是不打印换行符,保持输出如上:读取行和写入行。

我尝试使用curses,但我不想使用孔屏幕,只需要使用两行。

2 个答案:

答案 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

这是输入字符串后的样子:

Working solution

此实现适用于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()