Python讀取指定目錄下指定后綴文件並保存為docx


最近有個奇葩要求 要項目中的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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM