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

【正字标Anki】拉丁正字注音-基字

tool python

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

Python解译器代码

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

【正字标Anki】拉丁正字注音-基字.py

import os
import csv

# 定义词典文件夹路径'dictionary_folder'
dictionary_folder = r'------'

# 读取词典中的单词和含义
def read_dictionary(folder_path):
    dictionary = {}
    for filename in os.listdir(folder_path):
        if filename.endswith('.md'):
            if '%' in filename:
                parts = filename[:-3].split('%')
                # 确保文件名格式正确
                if len(parts) == 2:
                    word, meaning = parts
                    # 如果含义已经存在于字典中,则将词条添加到已有的词条后面
                    if meaning in dictionary:
                        dictionary[meaning] += '/' + word
                    else:
                        dictionary[meaning] = word
    return dictionary

# 递归读取词典中的单词和含义,包括子文件夹
def read_dictionary_recursive(folder_path):
    dictionary = read_dictionary(folder_path)
    for entry in os.scandir(folder_path):
        if entry.is_dir():  # 如果是文件夹,则递归调用
            nested_dict = read_dictionary_recursive(entry.path)
            for meaning, words in nested_dict.items():
                if meaning in dictionary:
                    dictionary[meaning] += '/' + words
                else:
                    dictionary[meaning] = words
    return dictionary

# 主函数
def main():
    try:
        dictionary = read_dictionary_recursive(dictionary_folder)
        # 定义保存名称
        output_file = r"------\dictionary_spell_anki_cards.csv"
        # 将词典写入到 CSV 文件
        with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
            fieldnames = ['Question', 'Answer']
            writer =csv.DictWriter(csvfile, fieldnames=fieldnames)
            writer.writeheader()
            for meaning, word in dictionary.items():
                writer.writerow({'Question': word, 'Answer': meaning})
            print(f"Anki 卡片已生成并保存到 {output_file}")
    except Exception as e:
        print(f"发生错误:{e}")
        input("按 Enter 键退出...")

if __name__ == "__main__":
    main()