如何调用用 bash 脚本编写的外部程序,使该脚本产生的输出在 sys.stdout 中可用,以便我可以通过 python 将输出记录到文件中。
例如。我现在通过以下代码段调用它们
if os.name == 'nt':
path = module_dir_run+'/run.bat'
else:
path = module_dir_run+'/run.sh'
if os.path.isfile(path):
if (splitargs.arg):
try:
call([path, splitargs.arg])
except:
pass
else:
try:
call([path])
except:
pass
else:
print "Not found : " + path
当我存储它的值时,sys.stdout = file(filename, "w")
它会存储 python 输出的任何内容,而不是脚本输出的内容。
注意:我试图运行的脚本是一个交互式脚本,所以在调用结束后,控制又回到了 python,我怎样才能得到终端中写的所有内容?有什么建议么?