path = "test.docx"
以工程下venv
文件夾為父目錄
補(bǔ)充:Python讀取指定目錄下指定后綴文件并保存為docx
最近有個奇葩要求 要項(xiàng)目中的N行代碼 申請專利啥的
然后作為程序員當(dāng)然不能復(fù)制粘貼 用代碼解決。。
使用python-docx讀寫docx文件
環(huán)境使用python3.6.0
首先pip安裝python-docx
然后下面是腳本 修改目錄,這里默認(rèn)取腳本運(yùn)行目錄下的src文件夾
取.cs后綴的所有文件 讀取并保存為docx
有一點(diǎn)需要注意,如果文件中有中文,請用vscode或者其他編輯器使用utf-8格式打開,看看有沒有亂碼 其中每處理一個文件都會有print輸出 當(dāng)看到只有---start沒有end的時(shí)候就可以找到該文件查看是否有上面說的情況,修改后保存重新執(zhí)行,一直到全部執(zhí)行完畢,保存好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('服務(wù)端代碼,使用語言')
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'總行數(shù):')
p.add_run(str(lineNum)).bold = True
doc.save('code.docx')
print(lineNum)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python 實(shí)現(xiàn)docx與doc文件的互相轉(zhuǎn)換
- python-docx文件定位讀取過程(嘗試替換)
- python操作docx寫入內(nèi)容,并控制文本的字體顏色
- 基于python的docx模塊處理word和WPS的docx格式文件方式
- Python使用docx模塊實(shí)現(xiàn)刷題功能代碼
- python-docx 頁面設(shè)置詳解