当我使用 python-docx 时,我的 IDE(如 pycharm wing)无法自动完成它。 这段代码
from docx import Document
asd = Document()
asd.add_heading("test")
asd.save("cao.docx")
当我输入 asd 时。 add_heading 无法自动完成。
from docx.document import Document
asd = Document()
asd.save()
this code can Auto-Complete
but atention
类型错误:init() 缺少 2 个必需的位置参数:“元素”和“部分”
我很抱歉我的英语不好
事实上,
docx.Document(...)
实际上是一个函数,它返回docx.document.Document
类的对象。因此,您应该使用以下两个导入,以获得
docx.document.Document
类内容的可见性:
from docx import Document
from docx.document import Document
在后一种情况下,您错误地导入了
docx.document.Document
而不是 docx.Document
。 Document
中的 docx.document
类具有不同的调用签名,无论如何都不是您想要的:)
对我来说,只有以下内容适用于 PyCharm 2023.1:
from docx import Document as CreateDocument
from docx.document import Document
document: Document = CreateDocument()
使用此解决方法可以在 IDE 中使用自动完成功能,并且不会出现
TypeError: init() missing 2 required positional arguments: 'element' and 'part'
:
from docx.document import Document
try:
document = Document()
except TypeError:
from docx import Document
document = Document()