import os import re def convert_text(text): def replace_ruby(match): word = match.group(1) dots = '・' * len(word) return f"[[rb:{word}>{dots}]]" text = re.sub(r'《《(.*?)》》', replace_ruby, text) return text def process_file(input_path, output_path): with open(input_path, 'r', encoding='utf-8') as f: content = f.read() converted_content = convert_text(content) os.makedirs(os.path.dirname(output_path), exist_ok=True) with open(output_path, 'w', encoding='utf-8') as f: f.write(converted_content) def process_all_files(input_dir, output_dir): os.makedirs(output_dir, exist_ok=True) for filename in os.listdir(input_dir): if filename.endswith(".txt"): input_path = os.path.join(input_dir, filename) output_path = os.path.join(output_dir, filename) process_file(input_path, output_path) print(f"変換が完了しました: {output_path}") input_dir = "input" output_dir = "output" process_all_files(input_dir, output_dir)