ciit-lesson-plan


Nameciit-lesson-plan JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
Summary这是一个用于将Markdown格式的教学计划内容转换为Word文档(.docx)的Python脚本。该脚本使用python_docx库来处理Word文档,能够读取Markdown文件内容,并根据预定义的模板生成格式化的教案文档。
upload_time2025-10-22 04:59:05
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords lesson plan ciit teaching docx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `lesson_plan.py` 使用说明

## 简介
`lesson_plan.py` 是一个用于将 Markdown 文件转换为格式化 Word 文档(.docx)的 Python 脚本。它主要用于生成教学教案文档,支持从 Markdown 文件中提取内容并按照预定义的模板格式化输出。

## 功能
- 从 Markdown 文件中提取内容。
- 将提取的内容填充到 Word 文档模板中。
- 支持自定义输出文件名。
- 支持复杂的表格格式,包括单元格合并、字体样式、背景颜色等。

## 依赖库
- `python-docx`: 用于创建和修改 Word 文档。
- `re`: 用于正则表达式操作。

## 使用方法
1. 准备一个 Markdown 文件,文件名格式为 `lesson_{number}.md`,其中 `{number}` 是一个数字。
2. 准备一个 Word 文档模板 `lesson_template.docx`。
3. 运行脚本:
  ```bash
  python lesson_plan.py
  ```

## 输入文件结构
Markdown 文件应包含以下部分:
- **项目名称**
- **授课类型**
- **授课周次**
- **授课学时**
- **知识目标**
- **能力目标**
- **素质目标**
- **学情分析**
- **教学重点**
- **教学难点**
- **教学方法**
- **教材资源**
- **课前:教学内容**
- **课前:学生活动**
- **课前:教师活动**
- **课前:设计意图**
- **项目导入:教学内容**
- **项目导入:学生活动**
- **项目导入:教师活动**
- **项目导入:设计意图**
- **内容展开:教学内容**
- **内容展开:学生活动**
- **内容展开:教师活动**
- **内容展开:设计意图**
- **课堂小结:教学内容**
- **课堂小结:学生活动**
- **课堂小结:教师活动**
- **课堂小结:设计意图**
- **课后:教学内容**
- **课后:学生活动**
- **课后:教师活动**
- **课后:设计意图**
- **教学反思:教学效果**
- **教学反思:诊断**
- **教学反思:改进**

## 输出文件
生成的 Word 文档将保存在当前目录下,文件名格式为 `{number}-{project_name}-教案.docx`,其中 `{number}` 是从 Markdown 文件名中提取的编号,`{project_name}` 是从 Markdown 文件中提取的项目名称。

## 注意事项
- 确保 Markdown 文件和 Word 模板文件路径正确。
- 确保 Markdown 文件内容格式正确,避免解析错误。
- 脚本中使用了复杂的表格格式化功能,确保 `python-docx` 版本支持这些功能。

## 作者
Yongshun Song

## 许可证
MIT License

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ciit-lesson-plan",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "Yongshun Song <ys_song@foxmail.com>",
    "keywords": "lesson, plan, ciit, teaching, docx",
    "author": null,
    "author_email": "Yongshun Song <ys_song@foxmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a4/d0/791e7e671430151226cdd9a9df13563e408ffabddeb3251444813ce3c0de/ciit_lesson_plan-0.1.2.tar.gz",
    "platform": null,
    "description": "# `lesson_plan.py` \u4f7f\u7528\u8bf4\u660e\r\n\r\n## \u7b80\u4ecb\r\n`lesson_plan.py` \u662f\u4e00\u4e2a\u7528\u4e8e\u5c06 Markdown \u6587\u4ef6\u8f6c\u6362\u4e3a\u683c\u5f0f\u5316 Word \u6587\u6863\uff08.docx\uff09\u7684 Python \u811a\u672c\u3002\u5b83\u4e3b\u8981\u7528\u4e8e\u751f\u6210\u6559\u5b66\u6559\u6848\u6587\u6863\uff0c\u652f\u6301\u4ece Markdown \u6587\u4ef6\u4e2d\u63d0\u53d6\u5185\u5bb9\u5e76\u6309\u7167\u9884\u5b9a\u4e49\u7684\u6a21\u677f\u683c\u5f0f\u5316\u8f93\u51fa\u3002\r\n\r\n## \u529f\u80fd\r\n- \u4ece Markdown \u6587\u4ef6\u4e2d\u63d0\u53d6\u5185\u5bb9\u3002\r\n- \u5c06\u63d0\u53d6\u7684\u5185\u5bb9\u586b\u5145\u5230 Word \u6587\u6863\u6a21\u677f\u4e2d\u3002\r\n- \u652f\u6301\u81ea\u5b9a\u4e49\u8f93\u51fa\u6587\u4ef6\u540d\u3002\r\n- \u652f\u6301\u590d\u6742\u7684\u8868\u683c\u683c\u5f0f\uff0c\u5305\u62ec\u5355\u5143\u683c\u5408\u5e76\u3001\u5b57\u4f53\u6837\u5f0f\u3001\u80cc\u666f\u989c\u8272\u7b49\u3002\r\n\r\n## \u4f9d\u8d56\u5e93\r\n- `python-docx`: \u7528\u4e8e\u521b\u5efa\u548c\u4fee\u6539 Word \u6587\u6863\u3002\r\n- `re`: \u7528\u4e8e\u6b63\u5219\u8868\u8fbe\u5f0f\u64cd\u4f5c\u3002\r\n\r\n## \u4f7f\u7528\u65b9\u6cd5\r\n1. \u51c6\u5907\u4e00\u4e2a Markdown \u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f\u4e3a `lesson_{number}.md`\uff0c\u5176\u4e2d `{number}` \u662f\u4e00\u4e2a\u6570\u5b57\u3002\r\n2. \u51c6\u5907\u4e00\u4e2a Word \u6587\u6863\u6a21\u677f `lesson_template.docx`\u3002\r\n3. \u8fd0\u884c\u811a\u672c\uff1a\r\n  ```bash\r\n  python lesson_plan.py\r\n  ```\r\n\r\n## \u8f93\u5165\u6587\u4ef6\u7ed3\u6784\r\nMarkdown \u6587\u4ef6\u5e94\u5305\u542b\u4ee5\u4e0b\u90e8\u5206\uff1a\r\n- **\u9879\u76ee\u540d\u79f0**\r\n- **\u6388\u8bfe\u7c7b\u578b**\r\n- **\u6388\u8bfe\u5468\u6b21**\r\n- **\u6388\u8bfe\u5b66\u65f6**\r\n- **\u77e5\u8bc6\u76ee\u6807**\r\n- **\u80fd\u529b\u76ee\u6807**\r\n- **\u7d20\u8d28\u76ee\u6807**\r\n- **\u5b66\u60c5\u5206\u6790**\r\n- **\u6559\u5b66\u91cd\u70b9**\r\n- **\u6559\u5b66\u96be\u70b9**\r\n- **\u6559\u5b66\u65b9\u6cd5**\r\n- **\u6559\u6750\u8d44\u6e90**\r\n- **\u8bfe\u524d:\u6559\u5b66\u5185\u5bb9**\r\n- **\u8bfe\u524d:\u5b66\u751f\u6d3b\u52a8**\r\n- **\u8bfe\u524d:\u6559\u5e08\u6d3b\u52a8**\r\n- **\u8bfe\u524d:\u8bbe\u8ba1\u610f\u56fe**\r\n- **\u9879\u76ee\u5bfc\u5165:\u6559\u5b66\u5185\u5bb9**\r\n- **\u9879\u76ee\u5bfc\u5165:\u5b66\u751f\u6d3b\u52a8**\r\n- **\u9879\u76ee\u5bfc\u5165:\u6559\u5e08\u6d3b\u52a8**\r\n- **\u9879\u76ee\u5bfc\u5165:\u8bbe\u8ba1\u610f\u56fe**\r\n- **\u5185\u5bb9\u5c55\u5f00:\u6559\u5b66\u5185\u5bb9**\r\n- **\u5185\u5bb9\u5c55\u5f00:\u5b66\u751f\u6d3b\u52a8**\r\n- **\u5185\u5bb9\u5c55\u5f00:\u6559\u5e08\u6d3b\u52a8**\r\n- **\u5185\u5bb9\u5c55\u5f00:\u8bbe\u8ba1\u610f\u56fe**\r\n- **\u8bfe\u5802\u5c0f\u7ed3:\u6559\u5b66\u5185\u5bb9**\r\n- **\u8bfe\u5802\u5c0f\u7ed3:\u5b66\u751f\u6d3b\u52a8**\r\n- **\u8bfe\u5802\u5c0f\u7ed3:\u6559\u5e08\u6d3b\u52a8**\r\n- **\u8bfe\u5802\u5c0f\u7ed3:\u8bbe\u8ba1\u610f\u56fe**\r\n- **\u8bfe\u540e:\u6559\u5b66\u5185\u5bb9**\r\n- **\u8bfe\u540e:\u5b66\u751f\u6d3b\u52a8**\r\n- **\u8bfe\u540e:\u6559\u5e08\u6d3b\u52a8**\r\n- **\u8bfe\u540e:\u8bbe\u8ba1\u610f\u56fe**\r\n- **\u6559\u5b66\u53cd\u601d:\u6559\u5b66\u6548\u679c**\r\n- **\u6559\u5b66\u53cd\u601d:\u8bca\u65ad**\r\n- **\u6559\u5b66\u53cd\u601d:\u6539\u8fdb**\r\n\r\n## \u8f93\u51fa\u6587\u4ef6\r\n\u751f\u6210\u7684 Word \u6587\u6863\u5c06\u4fdd\u5b58\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\uff0c\u6587\u4ef6\u540d\u683c\u5f0f\u4e3a `{number}-{project_name}-\u6559\u6848.docx`\uff0c\u5176\u4e2d `{number}` \u662f\u4ece Markdown \u6587\u4ef6\u540d\u4e2d\u63d0\u53d6\u7684\u7f16\u53f7\uff0c`{project_name}` \u662f\u4ece Markdown \u6587\u4ef6\u4e2d\u63d0\u53d6\u7684\u9879\u76ee\u540d\u79f0\u3002\r\n\r\n## \u6ce8\u610f\u4e8b\u9879\r\n- \u786e\u4fdd Markdown \u6587\u4ef6\u548c Word \u6a21\u677f\u6587\u4ef6\u8def\u5f84\u6b63\u786e\u3002\r\n- \u786e\u4fdd Markdown \u6587\u4ef6\u5185\u5bb9\u683c\u5f0f\u6b63\u786e\uff0c\u907f\u514d\u89e3\u6790\u9519\u8bef\u3002\r\n- \u811a\u672c\u4e2d\u4f7f\u7528\u4e86\u590d\u6742\u7684\u8868\u683c\u683c\u5f0f\u5316\u529f\u80fd\uff0c\u786e\u4fdd `python-docx` \u7248\u672c\u652f\u6301\u8fd9\u4e9b\u529f\u80fd\u3002\r\n\r\n## \u4f5c\u8005\r\nYongshun Song\r\n\r\n## \u8bb8\u53ef\u8bc1\r\nMIT License\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u8fd9\u662f\u4e00\u4e2a\u7528\u4e8e\u5c06Markdown\u683c\u5f0f\u7684\u6559\u5b66\u8ba1\u5212\u5185\u5bb9\u8f6c\u6362\u4e3aWord\u6587\u6863\uff08.docx\uff09\u7684Python\u811a\u672c\u3002\u8be5\u811a\u672c\u4f7f\u7528python_docx\u5e93\u6765\u5904\u7406Word\u6587\u6863\uff0c\u80fd\u591f\u8bfb\u53d6Markdown\u6587\u4ef6\u5185\u5bb9\uff0c\u5e76\u6839\u636e\u9884\u5b9a\u4e49\u7684\u6a21\u677f\u751f\u6210\u683c\u5f0f\u5316\u7684\u6559\u6848\u6587\u6863\u3002",
    "version": "0.1.2",
    "project_urls": null,
    "split_keywords": [
        "lesson",
        " plan",
        " ciit",
        " teaching",
        " docx"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9650d208ceb707a449e124866cd433080c703d76e4e3bb6a4e9491cb3e59e565",
                "md5": "5e1b52b1c5ba08403747b003b16b053c",
                "sha256": "ba2bd87b538c6362ccd3e2229df61f09136a79767ab815ce280c4740d8abc711"
            },
            "downloads": -1,
            "filename": "ciit_lesson_plan-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5e1b52b1c5ba08403747b003b16b053c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7851,
            "upload_time": "2025-10-22T04:59:04",
            "upload_time_iso_8601": "2025-10-22T04:59:04.284793Z",
            "url": "https://files.pythonhosted.org/packages/96/50/d208ceb707a449e124866cd433080c703d76e4e3bb6a4e9491cb3e59e565/ciit_lesson_plan-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a4d0791e7e671430151226cdd9a9df13563e408ffabddeb3251444813ce3c0de",
                "md5": "1648efbf8669371c971d795991341ff9",
                "sha256": "a8b34d4c4b9835bb3a214f19037c10685af849fe986bbb3c36b9e3486b4d15d6"
            },
            "downloads": -1,
            "filename": "ciit_lesson_plan-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "1648efbf8669371c971d795991341ff9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 7480,
            "upload_time": "2025-10-22T04:59:05",
            "upload_time_iso_8601": "2025-10-22T04:59:05.648286Z",
            "url": "https://files.pythonhosted.org/packages/a4/d0/791e7e671430151226cdd9a9df13563e408ffabddeb3251444813ce3c0de/ciit_lesson_plan-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-22 04:59:05",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "ciit-lesson-plan"
}
        
Elapsed time: 0.85944s