Python读取指定目录下指定后缀文件并保存为docx

yipeiwu_com7年前Python基础

最近有个奇葩要求 要项目中的N行代码 申请专利啥的

然后作为程序员当然不能复制粘贴 用代码解决。。

使用python-docx读写docx文件

环境使用python3.6.0

首先pip安装python-docx

pip install python-docx

然后下面是脚本 修改目录,这里默认取脚本运行目录下的src文件夹
取.cs后缀的所有文件 读取并保存为docx

有一点需要注意,如果文件中有中文,请用vscode或者其他编辑器使用utf-8格式打开,看看有没有乱码 其中每处理一个文件都会有print输出 当看到只有---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设计】网站的支持!

相关文章

Python实现二维数组按照某行或列排序的方法【numpy lexsort】

本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返...

Python的SimpleHTTPServer模块用处及使用方法简介

Python的SimpleHTTPServer模块用处及使用方法简介

  搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享。但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方便的地方。比如你想快速共享Linux系统的...

详解Python中的四种队列

详解Python中的四种队列

队列是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 在Python文档中搜索队列(queue)会发现,Python标准库中包含了四种队列,分别是queue.Queue...

Python函数返回不定数量的值方法

Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回。 使用代码验证: def func_a():...

python调用pyaudio使用麦克风录制wav声音文件的教程

python的pyaudio可以进行录音,播放,生成wav文件等等,WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为WAV,数据本身的格式为PCM或压缩型,属于无损音乐格...