Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python分别读写_Python_Terminal - Fatal编程技术网

用python分别读写

用python分别读写,python,terminal,Python,Terminal,我试图用python创建一个非常简单的程序,它需要从用户那里读取输入并相应地写入输出。我需要类似以下内容的输出: $./program.py say something: Hello World result: hello world 问题是,我需要无限期地读取输入,每次用户输入数据时,我希望打印的数据不会妨碍输入提示。最好不要打印换行符,保持输出如上:一行用于阅读,另一行用于写作 我试着使用诅咒,但我不想使用孔屏,只想使用两行。你可以做每一个简单的技巧: from os import sys

我试图用python创建一个非常简单的程序,它需要从用户那里读取输入并相应地写入输出。我需要类似以下内容的输出:

$./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想要的解决方案,我们会发现更复杂的问题。问题是清除屏幕与我想要的恰恰相反。我只想清除使用的两条线。