用python分别读写
我试图用python创建一个非常简单的程序,它需要从用户那里读取输入并相应地写入输出。我需要类似以下内容的输出:用python分别读写,python,terminal,Python,Terminal,我试图用python创建一个非常简单的程序,它需要从用户那里读取输入并相应地写入输出。我需要类似以下内容的输出: $./program.py say something: Hello World result: hello world 问题是,我需要无限期地读取输入,每次用户输入数据时,我希望打印的数据不会妨碍输入提示。最好不要打印换行符,保持输出如上:一行用于阅读,另一行用于写作 我试着使用诅咒,但我不想使用孔屏,只想使用两行。你可以做每一个简单的技巧: from os import sys
$./program.py
say something: Hello World
result: hello world
问题是,我需要无限期地读取输入,每次用户输入数据时,我希望打印的数据不会妨碍输入提示。最好不要打印换行符,保持输出如上:一行用于阅读,另一行用于写作
我试着使用诅咒,但我不想使用孔屏,只想使用两行。你可以做每一个简单的技巧:
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()
我相信这就是你想要的:
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()
编辑:稍微修改了我的代码,这样它就不会覆盖代码执行前打印的文本。还添加了工作执行的图像。每次在第一行打印字符时,第二行都会出现回音?这将在打印结果后立即清除屏幕,因此您将永远看不到它。只有在按下Enter键后,才会“更新”屏幕吗?确保它工作正常,但我想知道OP是否想在每次“按键被按下事件”时更新屏幕。如果是这样的话,那就有点难了。KISS:)我们以后再担心吧。如果这不是OP想要的解决方案,我们会发现更复杂的问题。问题是清除屏幕与我想要的恰恰相反。我只想清除使用的两条线。