简化项目并切换到v2模型与场景报告
This commit is contained in:
@@ -17,6 +17,7 @@ import pandas as pd
|
||||
import numpy as np
|
||||
from demoparser2 import DemoParser # 核心依赖
|
||||
import logging
|
||||
import sys
|
||||
|
||||
# ==============================================================================
|
||||
# ⚙️ 配置与调优参数 (可修改参数区)
|
||||
@@ -321,10 +322,15 @@ def process_demo(demo_path, output_dir, delete_source=False):
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"处理失败 {demo_name}: {str(e)}")
|
||||
# 如果是 Source 1 错误,给予明确提示
|
||||
if "Source1" in str(e):
|
||||
logging.error("❌ 这是一个 CS:GO (Source 1) 的 Demo,本系统仅支持 CS2 (Source 2) Demo。")
|
||||
sys.exit(1)
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="L1B 快照引擎")
|
||||
parser.add_argument('--demo_dir', type=str, default='data/demos', help='输入 .dem 文件的目录')
|
||||
parser.add_argument('--file', type=str, help='处理单个 .dem 文件 (如果指定此参数,将忽略 --demo_dir)')
|
||||
parser.add_argument('--output_dir', type=str, default='data/processed', help='输出 .parquet 文件的目录')
|
||||
parser.add_argument('--delete-source', action='store_true', help='处理成功后删除源文件')
|
||||
args = parser.parse_args()
|
||||
@@ -332,7 +338,22 @@ def main():
|
||||
if not os.path.exists(args.output_dir):
|
||||
os.makedirs(args.output_dir)
|
||||
|
||||
# 获取 demo 列表
|
||||
# 模式 1: 单文件处理
|
||||
if args.file:
|
||||
if not os.path.exists(args.file):
|
||||
logging.error(f"文件不存在: {args.file}")
|
||||
return
|
||||
if not args.file.endswith('.dem'):
|
||||
logging.error(f"无效的文件扩展名: {args.file}")
|
||||
return
|
||||
process_demo(args.file, args.output_dir, delete_source=args.delete_source)
|
||||
return
|
||||
|
||||
# 模式 2: 目录批处理
|
||||
if not os.path.exists(args.demo_dir):
|
||||
logging.warning(f"目录不存在: {args.demo_dir}")
|
||||
return
|
||||
|
||||
demo_files = [os.path.join(args.demo_dir, f) for f in os.listdir(args.demo_dir) if f.endswith('.dem')]
|
||||
|
||||
if not demo_files:
|
||||
|
||||
Reference in New Issue
Block a user