如何在 python-docx 中同时应用粗体和斜体?

How do I apply both bold and italics in python-docx?

我正在制作一本字典。我正在使用 python-docx 将其放入 MS Word 中。我可以轻松地将其设为粗体或斜体,但似乎无法弄清楚如何做到这两者。这是基础知识:

import docx

word = 'Dictionary'

doc = docx.Document()
p = doc.add_paragraph()
p.add_run(word).bold = True

doc.save('test.docx')

我试过 p.add_run(word).bold.italic = True,但收到 'NoneType' 错误,我明白了。

我也试过 p.bold = True 和 p.italic = True 在 add_run 之前和之后,但都丢失了格式。

Word 的 find/replace 是一个简单的解决方案,但如果可以的话,我更愿意在代码中完成。

add_run 方法每次调用时都会 return 一个 Run 的新实例。您需要创建一个实例,然后应用 italicbold

import docx

word = 'Dictionary'

doc = docx.Document()
p = doc.add_paragraph()

runner = p.add_run(word)
runner.bold = True
runner.italic = True

doc.save('test.docx')