python docx对象中的单词/ _rels / document.xml.rels在哪里?

时间:2016-03-26 12:03:07

标签: python-docx

我需要int divider = Integer.parseInt(arr[0]) int coefficient = Integer.parseInt(arr[1]) int degree = Integer.parseInt(arr[2]) 的内容才能获得图片信息。 python-docx存储它吗?

我用这个:

word/_rels/document.xml.rels

似乎无法在>>> from docx import Document as d >>> x=d('a.docx') 对象中获取它。

1 个答案:

答案 0 :(得分:2)

python-docx和python-pptx共享一个共同的opc子包;这是docx.opc子包。

该层抽象了.rels文件的细节,等等。

你可以使用:

来实现它
>>> document = Document()
>>> document_part = document.part
>>> rels = document_part.rels
>>> for r in rels:
...   print r.rId
'rId2'
'rId1'
'rId3'

如何最有效地使用它取决于你想要达到的目标。通常,人们只想获得相关部分而不关心导航包装的细节。为此,有这些更高级别的方法:

  • docx.opc.part.Part.part_related_by()
  • docx.opc.part.Part.related_pa​​rts [RID]

一般来说,手头物体的路线是:

  1. 到它所包含的部分(通常在obj.part上可用)
  2. 使用.part_related_by()(使用关系类型)或.related_pa​​rts [rId](它是一个词典)到相关部分。
  3. 通过X_Part.main_obj备份API对象,例如DocumentPart.document
  4. 您可能有兴趣仔细研究的代码区域是:

    • 的docx /零件/
    • 的docx / OPC / part.py