Python - 使用Shell的stdin和stdout生成/运行一个新进程

时间:2011-12-02 03:52:48

标签: python

我想从python中执行一个非python程序。非python程序提示用户输入密码,因此我希望stdin被路由到该子进程。同样,子进程有一些stdout,我想打印到控制台。当子进程终止时,我希望父python程序继续执行。

这看起来很简单,但我很难搞清楚如何去做。问题是有太多方法可以做一些非常相似的事情(os.spawn,os.exec,命令。,subprocess。等)。

1 个答案:

答案 0 :(得分:3)

subprocess.call(whatever, stdin=sys.stdout, stdout=sys.stdin)

但是,你确定密码是通过stdin输入的吗?命令行密码通常使用不同的工具。