本帖最后由 coolllyy 于 2020-6-22 17:29 编辑
网上搜索了按顺序执行 1.py 2.py 3.py ......的方法。得到以下代码[Python] 纯文本查看 复制代码 import os
os.system("python ./1.py 1>>log.txt")
os.system("python ./2.py 1>>log.txt")
os.system("python ./3.py 1>>log.txt")
os.system("python ./4.py 1>>log.txt")
os.system("python ./5.py 1>>log.txt")
但是我想实现的是以下两种情况,
一:1.py执行完毕后,才开始执行2.py,日志保存在log.txt。假如1.py执行到一半万一报错了就停止。
二:1.py执行完毕后,才开始执行2.py,日志保存在log.txt。假如1.py执行到一半万一报错了不管,继续执行2.py。
求大佬们指导一下。
[Python] 纯文本查看 复制代码 import subprocess
a1 = "python ./text1.py 1>>log11.txt"
a2 = "python ./text2.py 1>>log22.txt"
a3 = "python ./text3.py 1>>log33.txt"
def main():
p1 = subprocess.Popen(a1, shell=True)
print(p1.wait())
p2 = subprocess.Popen(a2, shell=True)
print(p2.wait())
p3 = subprocess.Popen(a3, shell=True)
print(p3.wait())
if __name__ == '__main__':
main()
或者
[Python] 纯文本查看 复制代码 import subprocess
a1 = "python ./text1.py 1>>log11.txt"
a2 = "python ./text2.py 1>>log22.txt"
a3 = "python ./text3.py 1>>log33.txt"
def main():
p1 = subprocess.call(a1, shell=True)
p2 = subprocess.call(a2, shell=True)
p3 = subprocess.call(a3, shell=True)
if __name__ == '__main__':
main()
修改成这样了,可以按顺序执行。 |