使用 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
如何从任何 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