无法按路径打开doxc文件(包未在.处找到)
目录视图:
代码:
from docx import Document
# some path of file:
path = 'TestDir/dir2/doc22.docx'
# open docx file:
doc = Document(path)拥有这个:
Traceback (most recent call last):
File "T23_7.py", line 73, in <module>
searchRegex(dirName, regex)
File "T23_7.py", line 57, in searchRegex
current_doc = Document(docx_file)
File "/home/ch_dmitriy/Documents/Projects/Tutorials/mech-mat-homework/env/lib/python3.5/site-packages/docx/api.py", line 25, in Document
document_part = Package.open(docx).main_document_part
File "/home/ch_dmitriy/Documents/Projects/Tutorials/mech-mat-homework/env/lib/python3.5/site-packages/docx/opc/package.py", line 116, in open
pkg_reader = PackageReader.from_file(pkg_file)
File "/home/ch_dmitriy/Documents/Projects/Tutorials/mech-mat-homework/env/lib/python3.5/site-packages/docx/opc/pkgreader.py", line 32, in from_file
phys_reader = PhysPkgReader(pkg_file)
File "/home/ch_dmitriy/Documents/Projects/Tutorials/mech-mat-homework/env/lib/python3.5/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 'TestDir/dir2/doc22.docx'救命求你了。
发布于 2017-11-09 21:45:45
此错误仅意味着在您指定的位置没有.docx文件。
由于您指定了一个相对路径,所以实际使用的路径是通过将'TestDir/dir2/doc22.docx'添加到运行时使用的当前工作目录来确定的。
您可以发现与此简短代码片段一起使用的路径:
import os
print(os.path.abspath('TestDir/dir2/doc22.docx')我希望您会发现它会打印出一个不存在的路径,并且您需要修改您给它的路径字符串以指向正确的位置。
最坏的情况是,您可以指定一个绝对路径,比如/home/ch_dmitriy/Documents/Projects/Tutorials/TestDir/dir2/doc22.docx。
发布于 2020-09-19 16:47:58
我在正确的道路上也有同样的问题。对我起作用的是用一个空的.docx创建Document()文件。
document = docx.Document()
document.save('your_doc_name.docx')所以你可以做这样的事情:
try:
document = docx.Document('your_doc_name.docx')
except:
document = docx.Document()
document.save('your_doc_name.docx')
print("Previous file was corrupted or didn't exist - new file was created.")发布于 2022-08-09 08:50:47
docx.opc.exceptions.PackageNotFoundError:找不到包
此错误是由docx文件中的任何内容引起的,您只需在文件中键入几个空格字符就可以修复它。
https://stackoverflow.com/questions/47199300
复制相似问题