Python脚本自动提取指定后缀代码文件并生成Word文档

Oliver
Oliver
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何使用Python的python-docx库,自动遍历指定目录下的特定后缀代码文件(如.cs),并将读取到的代码内容整理保存为Word文档。脚本支持处理中文编码,通过打印日志监控文件处理状态,确保生成包含标题、代码块及总行数的完整文档,适用于快速整理项目代码以申请专利或归档。

近期遇到一个特殊需求,需要从项目中提取N行代码用于申请专利。

作为程序员,手动复制粘贴效率低下,因此决定编写代码来自动化解决这一问题。

本方案采用python-docx库来实现对docx文件的读写操作。

开发环境基于Python 3.6.0版本。

首先需要通过pip命令安装python-docx库。

pip install python-docx

接下来是核心脚本,需修改目录路径,此处默认读取脚本运行目录下的src文件夹,提取所有.cs后缀的文件,读取内容并保存为docx格式。

需要注意一点:如果文件中包含中文,请使用VS Code或其他编辑器以UTF-8格式打开检查是否存在乱码。处理每个文件时脚本会输出打印信息,当看到仅有“start”而无“end”时,即可定位到该文件检查上述编码问题,修改后保存并重新执行,直至全部处理完毕并保存好docx文件。

相关代码实现如下。

# -- coding: UTF-8 --
# Created by luody on 2017/4/7.
import os
from docx import Document
saveFile = os.getcwd() + "/code.docx"
mypath = os.getcwd() + "/src"
doc = Document()
doc.add_heading("代码文档", 0)
p = doc.add_paragraph('服务端代码,使用语言')
p.add_run('C#,SQL').bold = True
lineNum = 0
for root, dirs, files in os.walk(mypath):
  for filespath in files:
    if (filespath.endswith('.cs')):
      doc.add_heading(filespath, level=1)
      codePage = ''
      print(filespath+' ---- start')
      for line in open(os.path.join(root, filespath), encoding="utf-8"):
        codePage += line
        lineNum += 1
      print(filespath+' ---- end')
      doc.add_paragraph(codePage, style='IntenseQuote')
      doc.add_page_break()
p = doc.add_paragraph(u'总行数:')
p.add_run(str(lineNum)).bold = True
doc.save('code.docx')
print(lineNum)

以上介绍了利用Python读取指定目录下指定后缀文件并保存为docx的方法,希望能对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。在此非常感谢大家对本站网站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。