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

时间:2017-11-09 10:21:34

标签: python python-docx

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

目录查看:

enter image description here

代码:

ERROR:HLSError(code/url/msg)=1/https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8/Cannot load M3U8: crossdomain access denied:Error #2048

有这个:

from docx import Document

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

# open docx file:
doc = Document(path)

请帮助。

5 个答案:

答案 0 :(得分:1)

此错误仅表示您指定的位置没有'TestDir/dir2/doc22.docx'文件。

由于您指定了 relative 路径,因此使用的实际路径是通过将import os print(os.path.abspath('TestDir/dir2/doc22.docx') 添加到Python在运行时使用的当前工作目录来确定的。

您可以发现此短代码段使用的路径:

/home/ch_dmitriy/Documents/Projects/Tutorials/TestDir/dir2/doc22.docx

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

最坏的情况是,您可以指定绝对路径,例如 List<String> list = new ArrayList<>(); list.add("Sputnik"); list.add("Explorer"); //String[] str = list.toArray();

答案 1 :(得分:0)

我以前遇到过此问题,解决方案可以是在文件中手动添加某些内容并将其删除。

答案 2 :(得分:0)

尝试打开文档。就我而言,该文档已损坏。

答案 3 :(得分:0)

我在正确的路径上也遇到了同样的问题。对我有用的是用空的Document()创建.docx文件。

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.")

答案 4 :(得分:0)

我在python中遇到了相同的错误,因为我使用Os.walk命令在目录中搜索文件(这里是导入docx模块后的docx文件):

labels:

但是我确实使用了完整的路径,如上面的Scanny所提到的:这意味着该文件不存在,在打开它们之前我也打印了所有文件路径,发现其中一些文件显然是word文件的临时创建文件在Windows中,当我们编辑它们时,它们都以“〜S”开头,并且实际上并不存在,这应该是错误的原因。 我也纠正了这个问题,所以:

<a href="<?php echo site_url()?>/home">Read More</a>