使用python-docx读取core_properties

时间:2016-10-09 11:06:16

标签: python python-3.x word-2010 python-docx

我试图读取docx文件的last_saved_by属性。我跟随了对Github和this question的评论。似乎已经添加了支持,但文档对我来说并不是很清楚。

我已将以下代码输入我的脚本(Notepad ++):

import docx

document = Document()
core_properties = document.core_properties
core_properties.author = 'Foo B. Baz'
document.save('new-filename.docx')

我最后只收到一条错误消息:

NameError: name 'Document' is not defined

我不知道我哪里出错了。 :(

当我通过python本身逐行输入时,问题似乎来自第二行。

我使用的是Python 3.4和docx 0.8.6

2 个答案:

答案 0 :(得分:1)

找出我出错的地方,对于那些想知道的人:

from docx import Document
import docx

document = Document('mine.docx')
core_properties = document.core_properties
print(core_properties.author)

这样做是一种更简洁的方式,我确定(导入docx两次似乎是多余的开始) - 但它确实有效,所以我很开心! :)

答案 1 :(得分:0)

如果您docx模块中唯一需要的是Document,那么您只需要使用

from docx import Document

如果使用的不止于此,可以使用

import docx
document = docx.Document()

docx模块导入特定名称是您的选择;无论哪种方式,你都不需要需要docx导入(或导入)两条线,尽管两者都不贵。