控制台一直在告诉我,说缺少一个参数。在
"D:\Program Files (x86)\Python\python.exe" D:/workspace/Glossary_Builder_Python/main.py
Please input the file path
C:\Users\Administrator\Desktop\Allergies.docx
Traceback (most recent call last):
File "D:/workspace/Glossary_Builder_Python/main.py", line 102, in <module>
main(sys.argv)
File "D:/workspace/Glossary_Builder_Python/main.py", line 98, in main
extractWdFrmDocx(filepath)
File "D:/workspace/Glossary_Builder_Python/main.py", line 18, in extractWdFrmDocx
document = Document(file)
TypeError: __init__() missing 1 required positional argument: 'part'
我试图使用pythondocx和python3.7从docx文件中提取一些突出显示的(黄色的)文本。
进入Document func时,__init__
如下所示:
那么在这里,什么是“部分”?在
以下是提取功能和主要功能:
def extractWdFrmDocx(filepath):
# self.filepath = filepath
document = Document(filepath)
for para in document.paragraphs:
for run in para.runs:
if run.font.highlight_color == WD_COLOR_INDEX.YELLOW:
keyText.append(run.text)
print(keyText)
def main(argv):
print("Please input the file path")
filepath = input()
extractWdFrmDocx(filepath)
if __name__ == "__main__":
main(sys.argv)
可能是您从
docx.document
导入了Document
。{cd1>你不应该直接构造这样的对象。相反,用于创建Document
对象的函数被提供为docx.Document
,它需要一个参数,就像您现在使用它的方式一样。在因此,您的代码应该是:
From documentation of python-docx:
相关问题 更多 >
编程相关推荐