我想从python运行外部程序,将输出(大量文本)重定向到日志文件并等待该程序完成。我知道我可以通过bash做到这一点:
tar
但是我怎么能用python做同样的事情呢?请注意,使用bash命令,我可以在程序运行时检查log_file。我也想在python中使用这个属性。
答案 0 :(得分:2)
请参阅subprocess模块。
with open("log_file", "w") as log_file:
subprocess.run(["my_external_program"], stdout=log_file, stderr=log_file)
print("done")
答案 1 :(得分:1)
Controlling a python script from another script
你可以查看上面的链接,确实是类似的问题。使用子进程或os.popen中的Popen可以检查实时。
使用简单的os.system("您的脚本> /tmp/mickey.log")也将运行该脚本,但它将等待执行该命令。
如果这可以解决您的问题,请告诉我。