建模程序 多个定时程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

42 lines
1.6 KiB

import sys
import os
from auto_sliceing_operate import main_begin_sliceing
from download_batch_data import main_download_batch_data_and_trans
from auto_sliceing_operate import main_download_zip
from utils.config import cfg, get_work_dir
if __name__ == '__main__':
# 根据参数决定执行哪个模块
# 命令映射表:命令名 -> 处理函数
command_handlers = {
'batch_download': main_download_batch_data_and_trans.main,
'begin_sliceing': main_begin_sliceing.main,
'download_zip': main_download_zip.main,
}
# 检查参数数量
if len(sys.argv) < 2:
print('Usage: python main.py <command> [work_dir]')
print('可用命令:', ' | '.join(command_handlers.keys()))
print('\n注意: work_dir 参数可选,如果未提供将从配置文件读取默认值')
sys.exit(1)
command = sys.argv[1]
# 检查命令是否存在
if command not in command_handlers:
print(f'错误: 未知命令 "{command}"')
print('可用命令:', ' | '.join(command_handlers.keys()))
sys.exit(1)
# 获取工作目录:优先使用命令行参数,其次使用配置文件,最后使用当前目录
work_dir = sys.argv[2]
# 打印配置信息(可选,用于调试)
if cfg('log.level', 'INFO') == 'DEBUG':
print(f'配置信息:')
print(f' - API URL: {cfg("api.base_url", "未配置")}')
print(f' - Redis Host: {cfg("redis.host", "未配置")}')
print(f' - 工作目录: {work_dir}')
# 执行对应的处理函数
command_handlers[command](work_dir=work_dir)