我想在使用 Python 更改 Word 文档时保留样式

问题描述 投票:0回答:0

我可以进行更改,但不能保留样式。

我使用代码:

from docx import Document
from os import listdir, mkdir, path,walk
from shutil import copytree
count = 0

try:
    listeler = listdir("lists")
    for liste in listeler:
        try:
            int(liste[6:])
            if liste.startswith("list-") and path.isdir(path.join("lists", liste)):
                count += 1
        except ValueError:
            pass
except FileNotFoundError:
    mkdir("lists")
    listeler = listdir("lists")

def main():
    path = f"lists\list-{count+1}"
    copytree("main-list",path)
    changes = {"$":"as"}
    for root, dirs, files in walk(path):
        for file in files:
            if file.endswith(".docx") and not file.startswith("~$"):
                f = Document(root+"\\"+file)

                for old, new in changes.items():
                    for para in f.paragraphs:
                        para.text = para.text.replace(old, new)

                    for table in f.tables:
                        for row in table.rows:
                            for cell in row.cells:
                                cell.text = cell.text.replace(old, new)
                f.save(root+"\\"+file)

main()

如何将文本以前的样式应用到 Python 中的当前文本?

python docx python-docx
© www.soinside.com 2019 - 2024. All rights reserved.