python-docx:‘未找到包’

11 投票
3 回答
20696 浏览
提问于 2025-04-19 04:19

我在'/var/code/oa'这个地方有一个名为doc.docx的文件。我想用python-docx来读取它。

from docx import Document
document = Document('/var/code/oa/doc.docx')

但是,出现了错误……

PackageNotFoundError: 找不到位于'/var/code/oa/doc.docx'的文件。

这是为什么呢?

谢谢@soon。呃,这真是个愚蠢的问题。原因是这个文件,它必须是真正的docx文件。

我只是把文件名从doc改成了docx,但它实际上并不是真正的docx文件。

3 个回答

0

这个错误的另一个原因是没有创建文件流或者文件对象。所以下面的代码可以作为一种替代的解决方法。

file_ref = open("/var/code/oa/doc.docx","rb")
doc = docx.Document(file_ref)
2

除了上面的回答,'找不到包'的错误还可能发生在以下情况下:

如果在运行Python程序的时候,docx文件已经在Windows中打开了。所以,关闭所有的docx文件,重启内核,然后再运行Python程序,可能也能解决这个错误。

这个错误还可能是因为程序在Windows以外的其他软件中运行(比如Linux、Ubuntu等)。

9

如果你的文档 doc.docx 里什么都没有,它会报错 PackageNotFoundError。试着在里面放点东西,然后再试一次。同时,一个无效的 docx 文件也会导致这个错误。如果这样能解决问题,记得告诉我哦。

撰写回答