Python - 使用Shell的stdin和stdout启动/运行新进程
我想在Python里面运行一个不是Python写的程序。这个程序会要求用户输入密码,所以我想把输入(stdin)传给这个子程序。同时,这个子程序会有一些输出(stdout),我希望能把这些输出显示在控制台上。当这个子程序结束后,我希望父程序(也就是我的Python程序)能够继续运行。
这看起来很简单,但我却很难搞明白怎么做。问题在于,有太多类似的方法可以做到这一点(比如os.spawn、os.exec、commands.、subprocess.等等)。
1 个回答
3
subprocess.call(whatever, stdin=sys.stdout, stdout=sys.stdin)
不过,你确定密码是通过标准输入(stdin)输入的吗?一般来说,命令行的密码是通过其他方式处理的。