首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python : AttributeError:“函数”对象没有属性“add_paragraph”

python : AttributeError:“函数”对象没有属性“add_paragraph”
EN

Stack Overflow用户
提问于 2016-02-18 13:20:22
回答 1查看 5.2K关注 0票数 1

刚开始学习python,现在我需要有关python函数的帮助。

我正在使用python v3.5.1

这是我想从.py文件中运行的代码:

代码语言:javascript
复制
from docx import Document
document = Document
paragraph = document.add_paragraph('I am adding a new paragraph here.')
document.save('test-thu18feb-b.docx')

在按下F5之后,我在python中得到以下消息:

代码语言:javascript
复制
Traceback (most recent call last):
File "C:/Users/Schauer/AppData/Local/Programs/Python/Python35/docx-
test-thu18feb-a.py", line 4, in <module>
paragraph = document.add_paragraph('I am adding a new paragraph here.')
AttributeError: 'function' object has no attribute 'add_paragraph'

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-02-18 13:24:00

声明

代码语言:javascript
复制
document = Document

docx.Document分配给document

代码语言:javascript
复制
document = Document()

将函数docx.Document返回的值分配给document。你需要后者。

docx.Document构造函数。它返回docx.document.Document类的实例。

按照医生们,这是docx.Document函数的定义:

代码语言:javascript
复制
def Document(docx=None):
    """
    Return a |Document| object loaded from *docx*, where *docx* can be
    either a path to a ``.docx`` file (a string) or a file-like object. If
    *docx* is missing or ``None``, the built-in default document "template"
    is loaded.
    """
    docx = _default_docx_path() if docx is None else docx
    document_part = Package.open(docx).main_document_part
    if document_part.content_type != CT.WML_DOCUMENT_MAIN:
        tmpl = "file '%s' is not a Word file, content type is '%s'"
        raise ValueError(tmpl % (docx, document_part.content_type))
    return document_part.document

所以docx.Document是一个函数,而docx.document.Document是一个类。因为你进口了

代码语言:javascript
复制
from docx import Document

Document指的是代码中的docx.Document

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35482622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档