Python 操作 Word 文档:主流库对比与选择指南

在办公自动化、报告生成、数据处理等领域,利用 Python 程序化地创建、读取或修改 Microsoft Word 文档 (.docx 格式) 是一项非常实用的技能。Python 生态中有多个优秀的库可以完成这项任务,但它们各有侧重和优缺点。选择哪一个“最好用”,关键在于你的具体需求是什么

本文将从功能、易用性、适用场景等方面,对比分析几个最主流的 Python 库,帮助你做出明智的选择。

文章目录

    • 核心候选库
    • 核心候选库
    • 一、python-docx - 基础创建与修改的首选
    • 二、docxcompose - 组合多个文档的好手
    • 三、docxtpl - 强大的模板驱动生成
    • 四、Free Spire.D for Python - 免费、跨平台、功能全面的选择
    • 五、pywin32 / comtypes - 直接操控 MS Word (Windows Only)
    • 六、Unoconv(Unoserver) / LibreOffice API - 开源替代方案 (间接)
    • 库选择指南与建议
      • 1\. 处理 `.doc` (旧格式) 文件
      • 2\. 核心功能需求
      • 3\. 运行环境考量
      • 4\. 预算与限制容忍度
      • 总结与建议
    • 官方文档

核心候选库

  1. python-docx
  2. docxcompose (基于 python-docx)
  3. docxtpl (基于 python-docx)
  4. Free Spire.Doc for Python
  5. pywin32 / comtypes (Windows Only)
  6. Unoconv / LibreOffice API (间接/命令行)

文章目录

    • 核心候选库
    • 核心候选库
    • 一、python-docx - 基础创建与修改的首选
    • 二、docxcompose - 组合多个文档的好手
    • 三、docxtpl - 强大的模板驱动生成
    • 四、Free Spire.D for Python - 免费、跨平台、功能全面的选择
    • 五、pywin32 / comtypes - 直接操控 MS Word (Windows Only)
    • 六、Unoconv(Unoserver) / LibreOffice API - 开源替代方案 (间接)
    • 库选择指南与建议
      • 1\. 处理 `.doc` (旧格式) 文件
      • 2\. 核心功能需求
      • 3\. 运行环境考量
      • 4\. 预算与限制容忍度
      • 总结与建议
    • 官方文档

核心候选库

  1. python-docx
  2. docxcompose (基于 python-docx)
  3. docxtpl (基于 python-docx)
  4. Free Spire.DOC for Python
  5. pywin32 / comtypes (Windows Only)
  6. Unoconv / LibreOffice API (间接/命令行)

一、python-docx - 基础创建与修改的首选

定位:
python-docx 是一个专注于读写 .docx 文件的纯 Python 库. 它是操作现代 Word 文档 (OOXML 格式) 的事实标准流行选择之一.

优点:

  • 纯 Python,跨平台: 可以在 Windows、macOS、Linux 上运行.
  • 专注于核心功能: 提供创建文档、添加段落、标题、表格、图片、设置基本样式(字体、大小、颜色、对齐)、页眉页脚等操作的清晰 API.
  • 成熟稳定,社区活跃: 文档完善,用户众多,问题容易找到解决方案.
  • 开源免费 (MIT License).

缺点:

  • 不支持 .doc (旧格式): 仅处理 .docx.
  • 高级格式控制有限: 对极其复杂的布局、部分 Word 高级功能(如某些域代码、复杂的页眉页脚嵌套、修订跟踪)的支持较弱或需要深入研究底层 XML.
  • 不支持打开 Word 应用程序: 纯文件操作,无法与 Word GUI 交互.
  • 模板替换相对基础: 虽然原生支持简单的文本替换,但复杂的模板填充(如循环、条件判断)需要自己构建逻辑或借助其他库(如 docxtpl).

使用的开源协议:

  • python-docx 库被标识为在 MIT 许可证下授权 。这一信息在其官方 PyPI 项目页面和 GitHub 仓库中均有明确说明。
  • MIT 许可证:极度宽松,鼓励自由使用。允许商业使用、修改、分发。需保留版权和许可声明,不提供担保 。

适用场景:

  • 从头开始生成结构化的 Word 报告、信件.
  • 读取现有 .docx 文件中的文本、表格内容.
  • 对现有 .docx 进行相对简单的修改(替换文本、添加/删除段落/表格).
  • 需要跨平台运行的基础 Word 文档自动化.

简单示例:

from docx import Document
from docx.shared import Pt, RGBColordoc = Document()  # 创建新文档
# 添加标题
title = doc.add_heading('项目报告', level=0)
title.alignment = 1  # 居中
# 添加段落
p = doc.add_paragraph('这是一份使用 ')
p.add_run('python-docx').bold = True
p.add_run(' 生成的报告。')
# 设置字体样式
run = p.runs[1]
run.font.size = Pt(14)
run.font.color.rgb = RGBColor(0x42, 0x24, 0xE9)  # 蓝色
# 保存
doc.save('demo_report.docx')

二、docxcompose - 组合多个文档的好手

定位:
docxcompose 库专门用于将多个 .docx 文档合并或组合成一个文档. 它构建在 python-docx 之上,解决了 python-docx 原生不支持流畅合并文档的痛点.

优点:

  • 解决特定痛点: 在需要拼接多个独立生成的 .docx 文件时(如合并多个章节的报告),比手动操作或自己处理底层 XML 方便得多.
  • 继承 python-docx 优点: 跨平台、纯 Python.
  • 通常能较好地处理合并后的样式(但复杂样式仍需注意).

缺点:

  • 功能单一: 仅专注于文档合并/组合. 其他操作仍需依赖 python-docx 或其他库.
  • 样式继承/冲突: 合并来自不同模板或样式定义差异大的文档时,可能出现样式冲突或不一致,需要额外处理.

使用的开源协议:

  • docxcompose 的当前稳定版本,例如2022年12月14日上传的1.4.0版本,已在MIT 许可证下授权。

适用场景:

  • 将多个由不同脚本或模块生成的 .docx 片段组合成一个完整文档.
  • 自动化报告组装流程.

简单示例:

from docxcompose.composer import Composer
from docx import Documentmaster = Document("title_page.docx")  # 主文档(如封面)
appendix = Document("appendix.docx")   # 待合并的附录
report = Document("main_report.docx")  # 待合并的主报告composer = Composer(master)
composer.append(report)
composer.append(appendix)composer.save("combined_report.docx")

三、docxtpl - 强大的模板驱动生成

定位:
docxtpl 基于 python-docxJinja2 模板引擎,专注于使用模板文件进行复杂的文档生成. 它擅长处理需要循环、条件判断、变量替换的场景.

优点:

  • 强大的模板功能: 利用成熟的 Jinja2 语法,在 Word 模板中直接定义占位符 ({{ variable }})、循环 ({% for item in list %})、条件 ({% if condition %}).
  • 保留格式: 渲染过程会尽力保留模板中设置的所有格式(样式、布局、图片位置等).
  • 简化复杂文档生成: 对于数据驱动的报告(发票、合同、证书、个性化信函),比直接用 python-docx 写代码构建所有内容高效清晰很多.
  • 开源免费 (MIT License).

缺点:

  • 依赖模板文件: 需要先手动创建一个设计好的 .docx 模板文件.
  • 学习曲线: 需要理解基本的 Jinja2 模板语法.
  • 底层操作限制: 难以完成在渲染后动态添加非常复杂内容或进行深度 XML 操作的需求,不够灵活.

使用的开源协议:

  • docxtpl 库是在 LGPL-2.1-only 下授权的 。此信息明确显示在项目的 PyPI 元数据中。
  • LGPL-2.1-only:弱复制左,平衡开源与商业集成。可与专有软件链接,修改库需开源。需提供替换 LGPL 组件的方式 。

适用场景:

  • 根据数据库查询结果、JSON 数据等填充预定义格式的 Word 模板.
  • 生成大量结构相似但内容不同的文档(如员工合同、客户报价单、成绩单).
  • 需要在报告中插入动态列表、表格行.

简单示例:
模板 (template.docx): 包含类似 {{ company_name }}{{ client_name }} 的占位符,以及使用 Jinja2 循环的表格行。

from docxtpl import DocxTemplatedoc = DocxTemplate("template.docx")
context = {'company_name': '千禧年科技有限公司','client_name': 'Ms. Yuuka','items': [{'desc': '软件许可', 'qty': 2, 'price': 1500.00},{'desc': '技术服务', 'qty': 10, 'price': 200.00},],'total': 5000.00
}
doc.render(context)  # 将数据注入模板
doc.save("generated_invoice.docx")

四、Free Spire.D for Python - 免费、跨平台、功能全面的选择

定位:
Free Spire.DOC for Python 是一个功能丰富的免费库,专为处理 Word 文档(包括 .doc.docx 格式)而设计,不依赖 Microsoft Office 安装。它是商业库 Spire.DOC for Python 的免费版本,可作为评估商业库功能的理想选择.

优点:

  • 免费: 核心功能可免费使用.
  • 跨平台: 支持 Windows、macOS、Linux,乃至国产操作系统.
  • 支持 .doc.docx 能够处理新旧两种 Word 文档格式.
  • 功能全面: 提供创建、读取、修改文档,添加文本、图片、表格、形状、超链接、书签、页眉页脚、水印(简单)、设置样式、文档保护,以及格式转换(如转 PDF、HTML、图片等)等功能. API 设计被认为比 python-docx 更面向对象.
  • 无需安装 Microsoft Office: 核心优势在于无需 Microsoft Office 环境即可运行,特别适合在服务器或容器等无 Office 场景中部署脚本.

缺点:

  • 性能: 对于极简单的操作,可能不如纯 Python 的 python-docx 轻量.
  • 社区和支持: 社区活跃度和文档资源不如 python-docx 丰富,免费用户支持有限.
  • 免费版限制: 单个文档不能超过 500 段落和 25 个表格. 转换为 PDF、XPS 时仅能获取前 3 页. 对于长文档或需要完整转换功能,建议考虑其商业版 Spire.DOC for Python,它支持 PDF 完整转换、无水印、无页数限制.

适用场景:

  • 需要同时处理 .doc.docx 格式的中短文档,尤其是在没有安装 Microsoft Office 的环境中.
  • 需要简单的格式转换功能(如 Word 转 PDF).
  • 预算为零,且 python-docx 无法满足需求(主要是 .doc 支持或商业 API 风格偏好).
  • 作为评估 Spire.DOC 功能的方式,免费版非常合适;若评估后功能满足但受限于免费版约束,商业版 Spire.DOC for Python 提供无限制的解决方案.

简单示例:

from spire.doc import Document, FileFormat
from spire.doc.documents import ParagraphStyle, StyleType# 创建新文档
doc = Document()
section = doc.AddSection()
# 添加段落并设置样式
para = section.AddParagraph()
txt_range = para.AppendText("Hello, Free Spire.DOC!")
# 应用内置样式
para.ApplyStyle(BuiltinStyle.Title)
# 保存为 .docx
doc.SaveToFile("output.docx", FileFormat.Docx2016)
doc.Close()

五、pywin32 / comtypes - 直接操控 MS Word (Windows Only)

定位:
这两个库提供了对 Windows COM 对象的访问,允许 Python 脚本完全控制本地安装的 Microsoft Word 应用程序. 可以做到几乎任何在 Word 界面上手动能做的事情.

优点:

  • 功能强大而完整: 因为本质是操控 MS Word,故支持 Word 的所有功能,包括打开 .doc.docx、执行宏、高级格式设置、修订跟踪、邮件合并、打印、保存为 PDF 等.
  • 所见即所得: 操作过程直接在 Word 应用程序中可见.
  • 利用已有 VBA 知识: 很多操作逻辑与 VBA 类似.
  • 开源免费 (PSF License for pywin32, MIT License for comtypes).

缺点:

  • 仅限 Windows: 必须运行在有 Microsoft Word 安装的 Windows 机器上,难以在其它平台部署项目.
  • 依赖外部程序: 需要启动 Word 进程,速度较慢,资源消耗更大,且不利于需要多端运行的项目.
  • 稳定性风险: Word 进程可能崩溃或被用户意外干扰,导致脚本不稳定.
  • 更复杂: COM 对象模型相对庞大复杂,学习和调试难度高.
  • 环境依赖: 部署环境必须正确安装 Word 且版本兼容性有时会带来问题.

使用的开源协议:

  • pywin32 在 Python 软件基金会许可证(PSF) 下授权。该许可证被公认为 OSI 批准,表明其符合开源原则。
  • comtypes 在 MIT 许可证下授权。虽然最新的 GitHub 页面显示“查看许可证”而未显示完整文本,但 PyPI 的1.1.0版本条目明确指出MIT。
  • Python软件基金会许可证 (PSF):宽松,促进Python软件自由使用。允许商业使用、修改、分发。需保留版权和许可声明,不提供担保 。

适用场景:

  • 需要操作 .doc 旧格式文件.
  • 必须使用 Word 特有且 python-docxSpire.DOC 等库不支持的高级功能(如复杂的邮件合并、特定的域代码操作、调用宏).
  • 需要将 Word 文档转换为 PDF 或 XPS(利用 Word 内置的“另存为”功能).

简单示例 (使用 pywin32):

import win32com.client as win32word = win32.Dispatch('Word.Application')
word.Visible = True  # 是否显示 Word 界面
doc = word.Documents.Open(r'C:\path\to\your\document.docx')
# 找到并替换文本
find = word.Selection.Find
find.Text = "旧公司名"
find.Replacement.Text = "新公司名"
find.Execute(Replace=win32.constants.wdReplaceAll)
# 保存并退出
doc.Save()
doc.Close()
word.Quit()

六、Unoconv(Unoserver) / LibreOffice API - 开源替代方案 (间接)

重要提醒:根据 Unoconv 官方 GitHub 自述文件,Unoconv 已弃用. 官方推荐的重写版本名为 “Unoserver”:https://github.com/unoconv/unoserver/.
Unoserver 尚未完全具备 Unoconv 的所有功能,其后续开发取决于社区需求及贡献者的实现意愿. 在 Unoserver 支持主要功能之前,Unoconv 将仅修复错误而不再进行重大更新. 待 Unoserver 实现 Unoconv 的核心功能后,Unoconv 将停止维护. 尽管如此,截至 2025 年 7 月 29 日,Unoconv 仍受到维护,但为稳定性考虑,仍建议关注 Unoserver 的发展.

定位:

  • unoconv: 一个命令行工具,利用 LibreOffice/OpenOffice 的守护进程进行文档格式转换(如 Word 转 PDF, Word 转 ODT 等).
  • LibreOffice API (UNO): 直接通过 Python 调用 LibreOffice 的功能(类似 pywin32 调用 Word). 非常强大但 API 极其复杂.

优点:

  • 免费开源.
  • 跨平台.
  • 强大的格式转换能力 (unoconv).
  • 理论上功能接近 Word COM (UNO API).

缺点:

  • unoconv: 只能转换,不能编辑内容. 依赖外部 LibreOffice 进程.
  • UNO API: 学习曲线陡峭,文档相对较少,社区支持不如 MS Office COM. 部署配置可能复杂.
  • 社区支持不稳定: Unoconv 正经历弃用升级,其继任者 Unoserver 还未完全具备 Unoconv 的所有功能,但现阶段其社区支持不如其他方案稳定.

使用的开源协议:

  • Unoconv 明确表示已弃用。
  • 其直接的重写和继任者,Unoserver 在 MIT 许可证下授权。
  • LibreOffice 套件本身,提供转换的底层 API,主要在 Mozilla 公共许可证v2.0 (MPL v2.0) 下提供。

适用场景:

  • 主要需求是将 Word 文档批量转换为 PDF 或其他格式 (unoconv 是最简单选择).
  • 需要在非 Windows 环境下获得接近 COM 的功能,且愿意投入时间学习复杂的 UNO API.

库选择指南与建议

选择最合适的 Python Word 库关键在于您的具体需求。以下是根据不同场景和优先级的决策指南:

1. 处理 .doc (旧格式) 文件

  • 推荐: Free Spire.DOC for Python.
    • 优势: 跨平台,无需安装 Microsoft Office,支持 .doc.docx. 对于中短文档免费版即可满足.
    • 考虑: 如果文档较长且需要完整功能,可升级到 Spire.DOC for Python 商业版.
  • 备选: pywin32 / comtypes.
    • 优势: 能够直接操作安装在 Windows 系统上的 Microsoft Word 应用程序,功能最为全面.
    • 限制: 仅限 Windows 平台,且必须安装 Word.

2. 核心功能需求

  • 基础创建、读取、修改文本、表格、图片、样式 (仅 .docx):
    • 推荐: python-docx.
    • 优势: 纯 Python、跨平台、易上手、社区活跃,是 .docx 基础操作的事实标准.
  • 基于模板填充数据 (带循环、条件判断):
    • 推荐: docxtpl.
    • 优势: 结合 Jinja2 模板引擎,能高效生成复杂、数据驱动的文档,同时保留格式.
  • 合并多个 .docx 文件成一个:
    • 推荐: docxcompose.
    • 优势: 专为合并文档设计,解决了 python-docx 的痛点.
    • 注意: 遵循 GPLv3 许可证,若项目闭源或商业分发需谨慎.
  • 需要 Word 所有高级功能 (修订、邮件合并、宏等) 且环境为 Windows 并安装 Word:
    • 推荐: pywin32 / comtypes.
    • 优势: 直接控制 Word 应用程序,功能最完整.
  • 批量将 Word 文档转换为 PDF 或其他格式:
    • 推荐: Unoconv / Unoserver.
    • 优势: 命令行工具,简单易用,尤其适合批量转换.
    • 备选: Free Spire.DOC for Python (免费版有页数限制,商业版无限制), pywin32 (利用 Word 内置功能).

3. 运行环境考量

  • 必须跨平台 (Windows/macOS/Linux):
    • 排除 pywin32 / comtypes.
    • 优先考虑 python-docxdocxcomposedocxtplFree Spire.DOC for PythonUnoconv / LibreOffice UNO.
  • 只有 Windows 且安装了 Word:
    • 所有选项均可用.
  • 国产系统:
    • 建议考虑 Free Spire.DOC for PythonSpire.DOC for Python 商业版.

4. 预算与限制容忍度

  • 必须完全免费开源且无功能/数量限制:
    • python-docx 系列.
    • pywin32 / comtypes (限 Windows).
    • Unoconv / LibreOffice UNO (注意许可证和弃用情况).
  • 可以接受中短文档和其他免费版限制:
    • Free Spire.DOC for Python 是处理 .doc 或在无 Office 环境下操作文档的优秀免费选项.
  • 有商业预算,需要高级功能、无限制、或专业支持:
    • 考虑 Spire.DOC for Python 商业版 或其他商业解决方案.

总结与建议

  • 入门首选 & 基础操作: 对于大多数 .docx 操作任务,python-docx 是起点和基石. 它免费、跨平台、易上手,是“好用”的标杆.
  • 模板驱动生成: 如果工作涉及填充设计好的模板,docxtpl 能显著提升效率和代码可读性,强烈推荐.
  • 合并文档的好手: 需要拼接文档时,docxcomposepython-docx 生态的完美补充.
  • 轻量即用,灵活初探,支持 .doc 及转换: Free Spire.DOC for Python 是一款免费、跨平台、支持 .doc 且无需安装 Microsoft Office 的库. 非常适合中短文档、测试或功能评估. 对于需要突破某些限制的生产环境,Spire.DOC for Python 商业版是直接的升级选择.
  • Windows 高级功能/旧格式需求: 仅当免费库无法满足高级需求或需要处理 .doc 时,pywin32 / comtypes 是次要备选,但需承受环境依赖和稳定性风险.
  • 格式转换简单方案: unoconv 是命令行下 Word 转 PDF 等格式的便捷工具.

建议的实践路径:

  1. python-docx 开始尝试,解决大部分常见需求.
  2. 若涉及模板功能,无缝结合 docxtpl.
  3. 若需合并文档,选择 docxcompose.
  4. 若需处理 .doc 格式,或在无 Office 环境下操作,或想评估商业库功能,优先考虑 Free Spire.DOC for Python.
  5. 仅当 python-docx / docxtpl / Free Spire.DOC 都无法解决特定高级需求必须处理 .doc需要可视化操作过程时,才考虑 pywin32 / comtypes.
  6. 对于纯粹的格式转换unoconvFree Spire.DOC 是更简单的选择.

官方文档

python-docx 官方文档 | docxcompose github | docxtpl 官方文档 | pywin32 官方文档 | comtypes 官方文档 | Spire.DOC for Python 中文教程 | Unoconv github | Unoserver github

希望这篇详尽的对比分析能帮助你根据项目特点,选出最趁手的 Python 库,高效地完成 Word 文档自动化任务!祝你编码愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91960.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么修改论文格式呢?提供一份论文格式模板

注!!!本文内容是作者自己整理的一份模板,仅供参考,各位如何修改,还需要看学校的要求。 一、参考文献 1、有一定数量的近几年参考文献、不宜过多中文文献 英文期刊模板 [1] Taesoo K, Sooyoung K, Kyunghan L, et al. Special issue on 6G and satellite communication…

MVC 发布

MVC 发布 引言 MVC(Model-View-Controller)模式是一种广泛应用于软件开发的架构模式。它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种模式不仅提高了代码的可维护性和可扩展性,而且使得开发者可以更加专注于各个组件的开发。本文…

arkui 动画曲线

参考文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-curve#curvesinterpolatingspring10 可视化工具网站 https://easingwizard.com/ https://www.desmos.com/calculator/k01p40v0ct?langzh-CN 基本介绍 import { curves } from kit.A…

大语言模型(LLM)技术架构与工程实践:从原理到部署

在自然语言处理领域,大语言模型(LLM)已成为颠覆性技术。从 GPT 系列到 LLaMA、ChatGLM,这些参数规模动辄百亿甚至万亿的模型,不仅实现了流畅的自然语言交互,更在代码生成、逻辑推理等复杂任务中展现出惊人能力。本文将从技术底层拆解 LLM 的核心架构,分析训练与推理的关…

python后端之DRF框架(上篇)

一、DRF框架介绍 1、web应用开发模式 1.1、前后端不分离1.2、前后端分离2、RESTful介绍 RESTful是目前最流行的API设计风格 , REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 1、每一个URI代表1种资源; 2、客…

信创数据库-DM(达梦)数据库安装教程

官方安装文档在这:安装前准备 | 达梦技术文档 本文也是基于这个来写的,微调了一下。 1,下载安装包 体验版直接到官方下载即可:产品下载 | 达梦在线服务平台 如果是有需要商业版等,需要联系客服申请。 安装包要选择CPU…

docker常用命令集(6)

接前一篇文章:docker常用命令集(5) 本文内容参考: Docker login/logout 命令 | 菜鸟教程 Docker命令_docker login-CSDN博客 特此致谢! 9. docker login 简介 docker login命令用于登录到docker注册表&#xff08…

[LINUX操作系统]shell脚本之循环

1.编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入,例如:test1、test2、test3......[rootmaster ~]# vim for1.sh #!/bin/bashread -p "请输入账户名称前缀:" prefixread -p…

空间设计:不是餐厅的装饰游戏

餐厅空间设计,是通过布局规划与环境营造,将功能需求、品牌调性与顾客体验融合的系统性工程 —— 它不仅决定顾客「坐得舒不舒服」,更影响「愿不愿意再来」「会不会主动分享」的消费决策。体验感知的第一触点:顾客进门 3 秒内&…

XSS-DOM 2

目录 1 DOMPurify 1.1 漏洞源码 1.2 加载框架 ​编辑 setTimeout 1.3 ok? 1.4 window和document 1.5 Overwrite(document.x) 1.5.1 打印cookie 1.6 Overwrite2(document.x.y) 1.6.1 form表单 1.7 toString…

从数据丢失到动画流畅:React状态同步与远程数据加载全解析

在前端开发中,数据状态管理与界面同步始终是核心挑战。近期我在处理一个书签管理应用时,遇到了远程数据加载后无法显示、界面更新异常,甚至动画闪烁等一系列问题。经过多轮调试与优化,最终实现了数据的正确加载与流畅的界面交互。…

MySQL半同步复制机制详解:AFTER_SYNC vs AFTER_COMMIT 的优劣与选择

目录深入分析与利弊对比1. AFTER_COMMIT (不推荐)2. AFTER_SYNC (强烈推荐,MySQL 8.0 默认)总结与强烈建议最佳实践 MySQL 半同步复制主要有两种实现方式,其核心区别在于主库何时回复客户端事务提交成功(即何时认为事务完成)&…

GEE实战 | 4种非监督分类算法深度解析,附可直接运行的完整代码

在遥感影像处理领域,非监督分类凭借其无需人工标注样本的优势,成为快速了解地物分布的得力助手。它能自动依据像素光谱特征的相似性完成聚类,这种“无师自通”的特性,让地理空间分析变得更加高效。 今天,我们就来深入…

基于落霞归雁思维框架的软件需求管理实践指南

作者:落霞归雁 日期:2025-08-02 摘要 在 VUCA 时代,需求变更成本已占软件总成本的 40% 以上。本文将“落霞归雁”思维框架(观察现象 → 找规律 → 应用规律 → 实践验证)引入需求工程全生命周期,通过 4 个阶…

企业级AI Agent构建实践:从理论到落地的完整指南

🚀 引言 随着人工智能技术的快速发展,AI应用正在从简单的工具转变为智能伙伴。企业级AI Agent作为这一变革的核心载体,正在重新定义我们与软件系统的交互方式。本文将深入探讨如何构建一个真正意义上的企业级AI Agent系统。 🎯 …

电商项目_性能优化_限流-降级-熔断

针对电商系统,在遇到大流量时,必须要考虑如何保障系统的稳定运行,常用的手段:限流,降级,拒绝服务。 一、限流 限流算法:计数器、滑动窗口、漏铜算法、令牌桶算法。 限流的方案 前端限流接入…

javaweb开发之Servlet笔记

第五章 Servlet 一 Servlet简介 1.1 动态资源和静态资源 静态资源 无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源. 例如:html css js img ,音频文件和视频文件 动态资源 需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时…

sqli-labs靶场less26/a

less261.我们打开这一关来看一下,他提示我们空格和其他一些什么都被过滤了2.我们来尝试绕过,按照之前的做法,可以看到闭合方式为单引号,并且过滤了--与#3.我们来尝试绕过一下,发现可以以下的方式绕过,空格用&#xff0…

从Docker衔接到导入黑马商城以及前端登录显示用户或密码错误的相关总结(个人理解,仅供参考)

目录 一、前言 二、从Docker衔接到导入黑马点评 三、谈谈端口映射及我的前端登录显示用户或密码错误 四、总结 一、前言 在学习24黑马SpringCloud课程时,说实话Docker那一块再到导入黑马商城是真的有点折磨,个人感觉老师水平还是很强的,但…

控制建模matlab练习10:滞后补偿器

此练习主要是:关于滞后补偿器。 ①滞后补偿器作用; ②不同滞后补偿器的效果; 一、为什么使用滞后补偿器 滞后补偿器:主要用于改善系统的稳态误差;滞后补偿器设计思路:同时为系统增加一个极点和零点&#xf…