请帮助我在python中编写简单的控制台应用程序。它应该将所有输入重定向到系统shell(bash或windows cmd或powershell)并将其所有输出都提供给屏幕。 只要我可以说从python应用程序运行终端。与控制台(sh,bash,cmd,powershell)的透明交互
下一个代码,是用一些奇怪的行为:第一个3次后的任何键按下时输出一些以前的命令(可能是从高速缓存)
#!/bin/python3
import subprocess
import sys
proc = subprocess.Popen(['bash'])
while True:
buff = sys.stdin.readline()
stdoutdata, stderrdata = proc.communicate(buff)
if(stdoutdata):
print(stdoutdata)
else:
print('n')
break
我在发布问题后编写的代码。我明白,没有代码的问题看起来不明显。有问题的时候我还没有想法。 @格雷尔,原谅我,如果这是粗鲁的。 – kyb
@kyb没关系,我现在删除了那个注释,你添加了代码:) – grael
当我用'subprocess.Popen(['cmd])'从Windows PowerShell运行这个脚本时,它可以正常工作。当使用Ctrl + B运行时,Sublime Text显示Linux下和Windows下的黑色死机。 – kyb