编写一个 for 循环,在使用 python-docx 模块迭代时创建单独的 docx 文件?

Writing a for loop that creates separate docx files as it iterates using the python-docx module?

在我 运行 我的脚本的那一刻,它能够创建文档并添加指定的文本就好了。 值得注意的是,我添加到文档中的文本是从 html 解析的职位列表。 接下来我要弄清楚的是如何拥有它,所以当我 运行 我的脚本时,它将遍历每个列表,并为每个相应的列表创建一个单独的 docx 文件。 我尝试将 document = Document() 写入 for 循环,但这似乎不起作用,因为它只会为第一个列表创建一个文档。这甚至可能吗?

import requests
from bs4 import BeautifulSoup
from docx import Document

document = Document()

for idx, item in enumerate(opps):
    title = item.find('h2').text
    description = item.find('p').text.strip()[0:]
    link = item.find("a").get("href")
    document.add_paragraph(
        (f'Title:{title}', f'Description: {description}\n', f'Link: {link}\n')
    )
    document.save('wordy.docx')

您的文档始终具有相同的名称,因此在循环的每次迭代中您都会覆盖之前的文件。 quickfix 将是:document.save(f'{idx}_wordy.docx') document = document 也应该在循环内。