我想通过Python调用一个目录中的脚本(它们是可执行的Shell脚本)。
到目前为止一切顺利:
for script in sorted(os.listdir(initdir), reverse=reverse):
if script.endswith('.*~') or script == 'README':
continue
if os.access(script, os.X_OK):
try:
execute = os.path.abspath(script)
sp.Popen((execute, 'stop' if reverse else 'start'),
stdin=None, stderr=sp.PIPE,
stdout=sp.stderr, shell=True).communicate()
except:
raise
现在我想要的是:假设我有一个具有start函数的bash脚本,我从中调用
echo "Something"
现在我想在sys.stdout上看到这个echo输出和退出码。我相信可以使用.communicate()实现,但我的方法不起作用。
我做错了什么?
非常感谢任何帮助。