我正在尝试制作一个终端仿真器,为此我需要处理stdin/stdout/stder将它们重定向到 GUI
我已经设法处理stdout and stderr了,问题是stdin。
我想要一个每次stdin读取时调用的函数,这样我就可以请求用户输入。
我用
subprocess.Popen("command", shell="True")
我尝试使用临时文件和编辑文件read,但问题是如果我理解正确(从源代码)获取文件并重新打开它以使用它。readlinereadlinessubprocess.Popen
我也尝试过创建像对象一样的自定义文件,但正如我之前所说,subprocess.Popen获取文件并尝试重新打开它,但由于我的对象是一个假文件,它不起作用
我怎样才能创建一个标准输入重定向器?
类似的东西
class StdinRediector():
def read():
input = gui.ask_input()
return input
subprocess.Popen(
"command",
shell="True",
stdin=StdinRediector,
)
我不要求,stdout and stderr因为这里已经有答案:
但是这些并没有谈论stdin哪个是我的问题。
这不是重复的