Files
pbl02/scripts/test_loader.py
T
2026-10-08 16:43:48 +09:00

35 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
"""
Generator for OPS01.ipynb and OPS01_student.ipynb
"""
import os
import re
import json
def load_data():
with open('scenario_json/OPS01.json', encoding='utf-8') as f:
scenario = json.load(f)
with open('scenario_md/OPS01-작전·전투 수행_적 탐지-드론 영상 공중위협 객체 탐지와 오경보 검증/OPS01_정답코드.md', encoding='utf-8') as f:
code_md = f.read()
parts = re.split(r'##\s+미션\s+(\d+)\.\s*', code_md)
missions_code = {}
for i in range(1, len(parts), 2):
m_num = int(parts[i])
m_body = parts[i+1]
lines = m_body.strip().split('\n')
m_title = lines[0].strip()
code_matches = re.findall(r'```python\n(.*?)\n```', m_body, re.DOTALL)
output_matches = re.findall(r'```text\n(.*?)\n```', m_body, re.DOTALL)
missions_code[m_num] = {
'num': m_num,
'title': m_title,
'code': code_matches[0] if code_matches else '',
'output': output_matches[0] if output_matches else ''
}
return scenario, missions_code
scenario, missions_code = load_data()
print(f"Loaded scenario '{scenario['title']}' with {len(scenario['missions'])} missions and {len(missions_code)} code blocks.")