0

我想在我的 Python 脚本中使用 bash 执行 shell 命令,在屏幕上获取实时打印消息。我使用以下行来执行此操作:

subprocess.Popen(my_commands, shell=True, stdout=sys.stdout, stderr=sys.stderr, executable='/bin/bash')

一切看起来都很好,期望在 shell 命令完成后,输入光标仍然不可见。我必须按 Enter 键才能再次激活 shell。那么错误是什么?

4

1 回答 1

0

这是因为你有两个贝壳,shell=True并且/bin/bash

如果您设置shell=False,您将不会在控制台上看到输出。您将不得不使用PIPE和/或subprocess.communicate()获取输出(取决于您想要什么)。

于 2013-02-08T09:47:27.900 回答