gpt4 book ai didi

python - 在其他线程/进程正在输出时接收标准输入

转载 作者:行者123 更新时间:2023-12-03 13:12:38 25 4
gpt4 key购买 nike

我在问与this post相同的问题,但在Linux下的Python中。我有一个在后台运行的线程,该线程不断输出内容,但是我想将输入线保持在终端的底部,而不会被冲走。有人可以给我一个代码示例吗?假设我的代码是这样的:

from time import sleep
from multiprocessing import Process

def subproc():
while True:
print "something"
sleep(1)
def main():
p = Process(target=subproc)
p.start()
c = raw_input()

编辑:顺便说一句,如果可能的话,我想继续使用 raw_input函数,因为我想拥有可用的输入历史记录。

最佳答案

不幸的是,没有任何方法不会导致一些严重或令人讨厌的后果。

数十年来,终端滚动和处理stdin/stdout的方式没有太大变化。

Take a look at terminal escape sequences.只要用户终端基于VT100或ansi规范,它们就应该起作用。您可以使用它们来设置写入位置,清除行等。但是,如果用户滚动,则幻觉将中断。

在早期的游戏(例如angband,rogue和nethack)中,解决了在屏幕上指定特定位置以输出角色的问题。解决方案是Curses库and there happens to be a curses python module

通过使用诅咒,您可以实现自己的目标。但我不知道在标准标准 shell 中执行此操作的方法

关于python - 在其他线程/进程正在输出时接收标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25027416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com