我想在我的Python脚本中使用bash执行shell命令,在屏幕上获取实时打印消息。我使用以下行来执行此操作:
subprocess.Popen(my_commands, shell=True, stdout=sys.stdout, stderr=sys.stderr, executable='/bin/bash')
一切看起来很好,期望在shell命令完成后,输入光标仍然是不可见的。我必须按Enter键再次激活shell。那么错误是什么?
答案 0 :(得分:0)
这是因为你有两个shell shell=True
和/bin/bash
如果设置shell=False
,您将无法在控制台上看到输出。您必须使用PIPE
和/或subprocess.communicate()
来获取输出(取决于您想要的内容)。