python docx 对象中的 word/_rels/document.xml.rels 在哪里?
where is the word/_rels/document.xml.rels in python docx object?
我需要word/_rels/document.xml.rels
的内容来获取图像信息。 python-docx 是否存储它?
我用这个:
>>> from docx import Document as d
>>> x=d('a.docx')
似乎无法在 x
对象中获取它。
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_parts[rId]
一般来说,从手头的物体出发的路线是:
- 它包含的部分(通常在 obj.part 上可用)
- 通过使用 .part_related_by() (使用关系类型)或 .related_parts[rId] (这是一个字典)到相关部分。
- 通过 X_Part.main_obj 返回 API 对象,例如DocumentPart.document
您可能有兴趣仔细研究的代码区域是:
- docx/parts/
- docx/opc/part.py
我需要word/_rels/document.xml.rels
的内容来获取图像信息。 python-docx 是否存储它?
我用这个:
>>> from docx import Document as d
>>> x=d('a.docx')
似乎无法在 x
对象中获取它。
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_parts[rId]
一般来说,从手头的物体出发的路线是:
- 它包含的部分(通常在 obj.part 上可用)
- 通过使用 .part_related_by() (使用关系类型)或 .related_parts[rId] (这是一个字典)到相关部分。
- 通过 X_Part.main_obj 返回 API 对象,例如DocumentPart.document
您可能有兴趣仔细研究的代码区域是:
- docx/parts/
- docx/opc/part.py