自动顺序执行多个Python文件

设置多个顺序执行的python文件,当一个文件执行结束后,继续执行下一个文件,减少手动操作等待时间

import subprocess
from datetime import datetime


def time_use(start,end):
   
    time_difference = end - start

    # 将时间差转换为小时和分钟
    # time_difference.total_seconds() 返回总秒数
    # 除以3600得到小时数,取余数得到剩余秒数,再除以60得到分钟数
    hours = time_difference.total_seconds() // 3600
    minutes = (time_difference.total_seconds() % 3600) // 60
    return hours, minutes 
   
def run_exp(): 
    print("实验已启动!")  
    # 获取当前时间
    start = datetime.now()

    # 第一个 Python 脚本的路径
    exp1 = './demo.py'

    # 第二个 Python 脚本的路径
    exp2 = './demo4.py'

    # 可设置多个python脚本

    # 执行第一个脚本
    results1 = subprocess.run(['python', exp1])
    # 第一个 Python 完成的时间
    time_exp1 = datetime.now()
    time_use_exp1 = time_use(start, time_exp1)

    # 如果第一个脚本执行成功,再执行第二个脚本
    if results1.returncode == 0:
        # 当第一个脚本执行完成后,执行第二个脚本
        subprocess.run(['python', exp2])
        # 第二个 Python 完成的时间
        time_exp2 = datetime.now()
        time_use_exp2 = time_use(time_exp1, time_exp2)

    else:
        print("第一个实验执行失败!")
        print("实验结束!")
        return # 直接返回,后面的代码不再执行
    
    # 可设置多个python脚本
    
    print("实验开始时间:", start.strftime("%Y-%m-%d %H:%M:%S")) 
    # 输出训练时间信息
    print("第一个实验的完成时间:", time_exp1.strftime("%Y-%m-%d %H:%M:%S"), "实验耗时:", time_use_exp1[0],"h", time_use_exp1[1],"m")
    print("第二个实验的完成时间:", time_exp2.strftime("%Y-%m-%d %H:%M:%S"), "实验耗时:", time_use_exp2[0],"h", time_use_exp2[1],"m")
    

    # 计算总时间
    total_time = time_use(start, time_exp2)    
    print("所有实验共用时:", total_time[0],"h", total_time[1],"m")

    end_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print("实验结束时间:", end_time)
    print('所有实验均已完成!')


if __name__ == '__main__':
    run_exp()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值