Files

75 lines
2.1 KiB
Python

'''
Author: zhoujie2104231 zhoujie@me.com
Date: 2024-03-02 16:20:40
LastEditors: zhoujie2104231 zhoujie@me.com
LastEditTime: 2024-04-10 10:02:34
Description:
'''
import subprocess
import schedule
import time
from datetime import datetime
import os
# 获取当前工作目录
current_directory = os.getcwd()
print("当前工作目录:", current_directory)
# 设置新的工作目录
new_directory = "C:/real_trader"
os.chdir(new_directory)
# 验证新的工作目录
updated_directory = os.getcwd()
print("已更改为新的工作目录:", updated_directory)
# 定义要启动的文件['real-a.py','real-ag.py','real-rb.py','real-hc.py']
files_to_run = ['real.py']
def run_scripts():
print("启动程序...")
for file in files_to_run:
time.sleep(1)
# 使用subprocess模块运行命令
subprocess.Popen(['start', 'cmd', '/k', 'python', file], shell=True)
print(file)
print(datetime.now(),'程序重新启动完成,等待明天关闭重启')
def close_scripts():
print("关闭程序...")
# 通过创建一个包含关闭指定窗口命令的批处理文件来关闭CMD窗口
def close_specific_cmd_window(cmd_window_title):
with open("close_cmd_window.bat", "w") as batch_file:
batch_file.write(f'@echo off\nfor /f "tokens=2 delims=," %%a in (\'tasklist /v /fo csv ^| findstr /i "{cmd_window_title}"\') do taskkill /pid %%~a')
# 运行批处理文件
subprocess.run("close_cmd_window.bat", shell=True)
# 循环关闭所有脚本对应的CMD窗口
for title in files_to_run:
close_specific_cmd_window(title)
print(datetime.now(),'已关闭程序,等待重新运行程序')
# 设置定时任务,关闭程序
schedule.every().day.at("15:30").do(close_scripts)
schedule.every().day.at("03:00").do(close_scripts)
# 设置定时任务,启动程序
schedule.every().day.at("08:55").do(run_scripts)
schedule.every().day.at("20:55").do(run_scripts)
# 保持脚本运行,等待定时任务触发
#240884432
while True:
schedule.run_pending()
time.sleep(1)
#240884432