我正在尝试制作一个终端模拟器,为此我需要处理stdin/stdout/stder
以将它们重定向到GUI
我已经设法处理了stdout and stderr
,问题是stdin
我希望有一个每次读取stdin
时调用的函数,这样我就可以向用户请求输入
我用
subprocess.Popen("command", shell="True")
我尝试使用临时文件并编辑文件中的read
、readline
和readlines
,但问题是如果我(从源代码)正确理解subprocess.Popen
将该文件重新打开以使用它
我还尝试创建自定义的类似文件的对象,但正如我前面所说的subprocess.Popen
获取文件并尝试重新打开它,但由于我的对象是一个伪文件,因此无法工作
如何创建stdinRedirector?
诸如此类
class StdinRediector():
def read():
input = gui.ask_input()
return input
subprocess.Popen(
"command",
shell="True",
stdin=StdinRediector,
)
我不要求stdout and stderr
,因为这里已经有了答案:
但这些并没有谈论stdin
这是我的问题。
这不是重复的
目前没有回答
相关问题 更多 >
编程相关推荐