2017-04-24 1276 views
1

我想用函數Document()打開一個.docx文件。但它總是返回:python docx.opc.exceptions.PackageNotFoundError:打開文件時找不到包文件

docx.opc.exceptions.PackageNotFoundError: Package not found at '/home/chaomaer/PycharmProjects/demo/lab1/book1.docx'

然而,當我改變功能open(),它工作得很好。

我想知道「爲什麼?」

from docx import Document 
import os 
document = open('book1.docx') 
# document = Document('book1.docx') 
print document.read() 
+0

.docx格式是嚴重相互依存的XML文件的集合。我會建議尋找一個圖書館,如https://python-docx.readthedocs.io/en/latest/。 – Jordan

+0

這似乎很奇怪。某些.docx文件可以使用Document()函數進行操作,但某些.docx文件不能。它仍然像這樣引發錯誤:docx.opc.exceptions.PackageNotFoundError:Package'not found at'book1.docx' – chaomaer

回答

0

首先安裝pip install python-docx ,然後更改代碼如下:

這對我的作品。希望這會有所幫助。

編輯:

您應該創建與MS或其他合適的編輯器的docx文件。我的建議 - 如果您有帳戶,請使用Google文檔。在終端中使用touch命令創建文件不起作用。

+0

這似乎很奇怪。某些.docx文件可以使用Document()函數進行操作,但某些.docx文件不能。它仍然像這樣提高錯誤:docx.opc.exceptions.PackageNotFoundError:在'book1.docx'找不到包' – chaomaer

+0

ok.It似乎你的包沒有成功安裝。你能告訴我你正在使用哪種Python版本?如果您使用python3.x而不是安裝軟件包「pip3 install python-docx」。 –

+0

我使用它的版本蟒蛇2.7 – chaomaer

0

我知道一個簡單的解決方案 我工作在一個ubantu Os 當docx出現錯誤時,嘗試複製無法在MS字內的新文件中打開的文件。如果有人知道深層次的原因,它對我來說很有用 。我會向你表示感謝。

+0

如果錯誤地給出'.docx'文件的路徑目錄,也會引發同樣的錯誤。 –

+0

確實。但我相信這條道路是可行的 – chaomaer

+0

我想知道你所有的我從我的Windows PC上試過,並且如果路徑錯誤的話會給出同樣的錯誤。謝謝。 –