如何解决ValueError:必须指定标题或 pageid
我一直在用 Python 3.8 编写代码来帮助我研究事物,我想把它变成一个 GUI。当我这样做时,每当我点击“开始”按钮时都会收到此错误。如果你们中的任何人看到错误,这里是代码。
# Imports
import wikipedia
from tkinter import *
import time
# Code
def Application():
# DeFinitions
def Research():
# Defines Entry
Result = wikipedia.summary(Term)
print(Result)
# Window Specifications
root = Tk()
root.geometry('900x700')
root.title('Wikipedia Research')
# Window Contents
Title = Label(root,text = 'Wikipedia Research Tool',font = ('Arial',25)).place(y = 10,x = 250)
Directions = Label(root,text = 'Enter a Term Below',font = ('Arial,15')).place(y = 210,x = 345)
Term = Entry(root,15')).place(y = 250,x = 325)
Run = Button(root,15'),text = 'Go',command = Research).place(y = 300,x = 415)
# Mainloop
root.mainloop()
# Run Application
Application()
解决方法
您将 Term
传递给 wikipedia.summary()
。错误来自 summary()
创建 page
(code)。当没有有效的标题或页面 ID 传递给 page
(code) 时,会发生此错误。在您的情况下会发生这种情况,因为您将 Term
直接传递给 summary()
,而没有先将其转换为字符串。此外,Term
是一个 NoneType
对象,因为您实际上是将它设置为 place()
的结果。您必须在创建 Term
时存储 Entry()
,然后对其应用 place
操作,以便能够保留对它的引用(请参阅 here为什么):
Term = Entry(root,font = ('Arial,15'))
Term.place(y = 250,x = 325)
然后,您可以通过以下方式获取文本值:
Result = wikipedia.summary(Term.get())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。