大须大镜 | Mayahilwa Mayakimhemot/ toolbox/ 目度 Systemedo

【全词条Anki】拉丁正字注音%基字-词条内容

tool python

生成一个CSV文件,该文件用于导入Anki应用程序。CSV文件将包含以下内容:

Python解译器代码

# 定义python文件路径
with open(r'------\【全词条Anki】拉丁正字注音%基字-词条内容', 'r', encoding='utf-8') as file:
    code = file.read()
exec(code)

【全词条Anki】拉丁正字注音%基字-词条内容.py

import os
import csv

# 读取子文件夹Markdown文件并提取标题和内容
def read_dictionary(folder_path):
    markdown_files = []
    # 存储完整的文件路径
    for file in os.listdir(folder_path):
        if file.endswith('.md') and '%' in file:
            markdown_files.append(os.path.join(folder_path, file)) 
    return markdown_files

# 递归读取词典,包括子文件夹
def read_dictionary_recursive(folder_path):
    markdown_files = read_dictionary(folder_path)
    for entry in os.scandir(folder_path):
        if entry.is_dir():  # 如果是文件夹,则递归调用
            nested_files = read_dictionary_recursive(entry.path)
            markdown_files.extend(nested_files)
    print('完成1世/匡。')
    return markdown_files

# 读取Markdown文件并提取标题和内容
def extract_markdown_content(markdown_file):
    file_path = os.path.basename(markdown_file)
    print(f"正在读取{markdown_file}")
    title = file_path[:-3] # 移除扩展名,获取标题
    with open(markdown_file, 'r', encoding='utf-8') as file:
        content = file.read()
    return title, content

# 将提取的内容写入CSV文件
def write_to_csv(markdown_files, output_file):
    with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
        fieldnames = ['Front', 'Back']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        for file in markdown_files:
            title, content = extract_markdown_content(file)
            writer.writerow({'Front': title, 'Back': content})
        print(f"Anki 卡片已生成并保存到 {output_file}")

# 主函数
def main():
    try:
        # 标记Kubcqesot版本
        kubcqesot_version = input('Kubcqesot 版本号:')
        cqosläpela_version = input('Cqosläpela 版本号:')
        # 定义路径
        folder_path = r'------'
        output_file = f'------\\【K{kubcqesot_version} C{cqosläpela_version}】dictionary_note_anki_cards.csv'
        os.makedirs(os.path.dirname(output_file), exist_ok=True)
        # 收集全部文件并写入CSV文件
        markdown_files = read_dictionary_recursive(folder_path)
        write_to_csv(markdown_files, output_file)
    except Exception as e:
        print(f"发生错误:{e}")
        input("按 Enter 键退出...")

if __name__ == "__main__":
    main()