当前位置: 首页 > 面试题库 >

如何在python中检索Office文件的作者?

贺栋
2023-03-14
问题内容

Title解释了问题所在,有些doc和docs文件需要检索其作者信息,以便我可以重组我的文件。

os.stat仅返回大小和日期时间,与实际文件相关的信息。
open(filename, 'rb').read(200)返回许多我无法解析的字符。

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


问题答案:

由于docx文件只是XML压缩文件,因此您只需解压缩docx文件并从XML文件中提取作者信息即可。不太清楚它的存储位置,只是短暂地环顾四周就使我怀疑它存储在dc:creatordocProps/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


 类似资料:
  • 我不想使用操作系统命令,因为这使它依赖于操作系统。 这在< code>tarfile、< code > tarfile . is _ tarfile(filename)中可用,用于检查文件是否为tar文件。 我无法在模块中找到任何相关命令。 编辑:为什么我需要这个:我有gzip文件列表,这些文件的大小各不相同(1-10 GB),有些是空的。在读取文件之前(使用),我想检查文件是否为空,因为对于空文

  • 问题内容: 我如何从Python的Elasticsearch中获得100000个寄存器?MatchAll查询仅检索10000。 问题答案: 就像已经指出的那样,我将使用Scan API来做到这一点。 您还应该阅读有关Elasticsearch python DSL中的扫描助手的信息,网址为 http://elasticsearch- py.readthedocs.io/en/master/help

  • 问题内容: 我的工作区中有一个文件夹,但在“ src”之外,其中包含一个文件,使用自定义插件向导时,该文件需要读取才能设置新文件。 除非我确切指定该文件在系统中的位置,否则我无法正确获取此文件的位置并保持获取空指针。我的问题是该文件在插件项目中,但无法获取它的位置。 插件中的文件位置为com.my.plugin / rules / setup.txt 问题答案: 要从已部署的捆绑包中加载资源,您可

  • 问题内容: 我在Windows中编写Python脚本。我想根据文件大小做一些事情。例如,如果大小大于0,我将向某人发送电子邮件,否则继续其他操作。 如何检查文件大小? 问题答案: 使用,并使用结果对象的成员: 输出以字节为单位

  • 问题内容: 每当在特定目录中添加/删除/修改新文件时,我都需要在python中知道吗?我正在寻找一个类似“ inofity”的功能(来自POSIX)。 谢谢 问题答案: 注意:我删除了我的答案,因为它无关紧要,并且经常被否决。 我无法删除它。

  • 本文向大家介绍WinForm中如何预览Office文件,包括了WinForm中如何预览Office文件的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了WinForm预览Office文档的方法,供大家参考,具体内容如下 使用WinForm, WPF, Office组件 原理:使用Office COM组件将Word,Excel转换为XPS文档, 将WPF的DocumentViewer控件寄宿