使用 python 获取 'Last saved by'(windows 文件)

Get the 'Last saved by' (windows file) with python

如何从任何 windows 文件的 "Last saved by" 属性 中获取用户名值?

例如:我可以看到此信息,右键单击一个 word 文件并访问详细信息选项卡。见下图:

有人知道我如何使用 python 代码获得它吗?

根据@user1558604 的评论,我在 google 上搜索了一下并找到了解决方案。我测试了扩展名 .docx、.xlsx、.pptx。

import zipfile
import xml.dom.minidom

# Open the MS Office file to see the XML structure.
filePath = r"C:\Users\Desktop\Perpetual-Draft-2019.xlsx"
document = zipfile.ZipFile(filePath)

# Open/read the core.xml (contains the last user and modified date).
uglyXML = xml.dom.minidom.parseString(document.read('docProps/core.xml')).toprettyxml(indent='  ')

# Split lines in order to create a list.
asText = uglyXML.splitlines()

# loop the list in order to get the value you need. In my case last Modified By and the date.
for item in asText:
    if 'lastModifiedBy' in item:
        itemLength = len(item)-20
        print('Modified by:', item[21:itemLength])

    if 'dcterms:modified' in item:
        itemLength = len(item)-29
        print('Modified On:', item[46:itemLength])

控制台中的结果是:

修改者:adm.UserName

修改时间:2019-11-08