首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docx.opc.exceptions.PackageNotFoundError:未在

docx.opc.exceptions.PackageNotFoundError:未在
EN

Stack Overflow用户
提问于 2017-11-09 10:21:33
回答 9查看 18.4K关注 0票数 8

无法按路径打开doxc文件(包未在.处找到)

目录视图:

在这里输入图像描述

代码:

代码语言:javascript
复制
from docx import Document

# some path of file:
path = 'TestDir/dir2/doc22.docx'

# open docx file:
doc = Document(path)

拥有这个:

代码语言:javascript
复制
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'

救命求你了。

EN

回答 9

Stack Overflow用户

发布于 2017-11-09 21:45:45

此错误仅意味着在您指定的位置没有.docx文件。

由于您指定了一个相对路径,所以实际使用的路径是通过将'TestDir/dir2/doc22.docx'添加到运行时使用的当前工作目录来确定的。

您可以发现与此简短代码片段一起使用的路径:

代码语言:javascript
复制
import os
print(os.path.abspath('TestDir/dir2/doc22.docx')

我希望您会发现它会打印出一个不存在的路径,并且您需要修改您给它的路径字符串以指向正确的位置。

最坏的情况是,您可以指定一个绝对路径,比如/home/ch_dmitriy/Documents/Projects/Tutorials/TestDir/dir2/doc22.docx

票数 4
EN

Stack Overflow用户

发布于 2020-09-19 16:47:58

我在正确的道路上也有同样的问题。对我起作用的是用一个空的.docx创建Document()文件。

代码语言:javascript
复制
document = docx.Document()
document.save('your_doc_name.docx')

所以你可以做这样的事情:

代码语言:javascript
复制
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.")
票数 1
EN

Stack Overflow用户

发布于 2022-08-09 08:50:47

docx.opc.exceptions.PackageNotFoundError:找不到包

此错误是由docx文件中的任何内容引起的,您只需在文件中键入几个空格字符就可以修复它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47199300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档