python docx找不到docx文件

时间:2018-06-05 00:32:12

标签: python python-docx

我实际上在我的文件夹中有这个文件: enter image description here

我的代码是:

#-*-coding:utf-8-*-
import re 
import time
import datetime
import sys
import os
import csv
import docx

from docx import Document
from docx import *  

CURRENT_DIR = os.path.dirname(os.path.abspath(sys.argv[0]))
docxFilePath = os.path.join(CURRENT_DIR,'111.docx')
doc=Document(docxFilePath)

当我运行它时,它返回错误是:

Traceback (most recent call last):   File
"C:\Users\Windows\Desktop\test\fp\makereport.py", line 20, in <module>
    doc=Document(docxFilePath)   File "C:\Python27\lib\site-packages\docx\api.py", line 25, in Document
    document_part = Package.open(docx).main_document_part   File "C:\Python27\lib\site-packages\docx\opc\package.py", line 116, in open
    pkg_reader = PackageReader.from_file(pkg_file)   File "C:\Python27\lib\site-packages\docx\opc\pkgreader.py", line 32, in
from_file
    phys_reader = PhysPkgReader(pkg_file)   File "C:\Python27\lib\site-packages\docx\opc\phys_pkg.py", line 31, in
__new__
    "Package not found at '%s'" % pkg_file docx.opc.exceptions.PackageNotFoundError: Package not found at
'C:\Users\Windows\Desktop\test\fp\111.docx'

请帮助

2 个答案:

答案 0 :(得分:1)

似乎对于其他文件格式(如docx,xl​​sx和pdfs),该文件应位于当前工作目录中。所以你可以做:

import os
os.chdir('C://Users/Windows/Desktop/test/fp')

然后看看是否可行。

答案 1 :(得分:0)

我遇到了同样的问题,并且 Scanny 已正确回答该文件已找到但不是真正的 .docx 文件。

不要在任何其他应用程序中创建它并将其重命名为 .docx,而是创建一个真正的 .docx 文件。 您可以使用下面的代码创建一个。

doc = docx.Document()
doc.save("/path/to/file/where/it/needs/to/save/.docx")