使用 Python-docx 判断 Word 文档格式 (Doc 或 Docx)

本文介绍如何使用 Python-docx 库的 Document 类判断 Word 文档是 Doc 还是 Docx 格式,无需依赖文件后缀名。

原理:

可以使用 python-docx 的 Document 类中的 element 属性来判断文档格式,因为 element 属性返回的是文档的 XML 元素,不同格式的文档其元素名称不同。

实现方法:

from docx import Document

def determine_doc_format(file_path):
    doc = Document(file_path)
    if doc.element.tag.endswith('word/document'):
        return 'docx'
    elif doc.element.tag.endswith('word/document.xml'):
        return 'doc'
    else:
        return 'unknown'

代码解析:

  1. 首先使用 Document 类加载文档。
  2. 然后通过 element 属性获取文档的 XML 元素标签。
  3. 如果标签以 'word/document' 结尾,则说明文档是 docx 格式。
  4. 如果标签以 'word/document.xml' 结尾,则说明文档是 doc 格式。
  5. 否则返回 'unknown' 表示无法判断。

注意事项:

  • 此方法的前提是文档本身是可读的,如果文档损坏或者无法打开,则无法使用此方法判断格式。
  • 此方法仅适用于 Word 文档,对于其他格式的文档可能无法识别。
Python-docx 判断 Word 文档格式 (Doc 或 Docx)

原文地址: https://www.cveoy.top/t/topic/nChE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录