标题说明了问题所在,有些doc和docs文件需要检索其作者信息,以便我可以重组我的文件。
os.stat仅返回大小和日期时间,与实文件有关的信息。open(filename, 'rb').read(200)返回许多我无法解析的字符。

有一个称为xlrd的模块,用于读取xlsx文件。但是,这仍然不允许我阅读docdocx文件。我知道在non-msoffice程序上不容易读取新的Office文件,因此,如果不可能的话,从旧的Office文件中收集信息就足够了。

最佳答案

由于docx文件只是压缩的XML,因此您可以解压缩docx文件,并大概将作者信息从XML文件中拉出。不太清楚它的存储位置,只是四处看看,使我怀疑它已作为dc:creator存储在docProps/core.xml中。

您可以通过以下方式打开docx文件并检索创建者:

import zipfile, lxml.etree

# open zipfile
zf = zipfile.ZipFile('my_doc.docx')
# use lxml to parse the xml file we are interested in
doc = lxml.etree.fromstring(zf.read('docProps/core.xml'))
# retrieve creator
ns={'dc': 'http://purl.org/dc/elements/1.1/'}
creator = doc.xpath('//dc:creator', namespaces=ns)[0].text

10-07 19:12
查看更多