我正在尝试实现一个原始字典来查找我们在实验室中使用的首字母缩略词。词典的格式是:
{'REN': 'plasma renin', 'PROP': 'procollagen III', 'IMETAB': 'intermediary metabolites, pyruvate, lactate, beta-OH-butyrate'...}
我可以用GUI和其他格式在字典上搜索条目,但是在尝试添加/删除条目时会出错,但只能使用GUI格式。 下面是两段有问题的代码:
这个代码有效
^{pr2}$以及不起作用的GUI代码:
def add_acronym():
add_del_acronym.get()
add_del_acronym.upper()
abbr_in = addordel_acronym
add_expansion.get()
text_in = add_expansion
acronyms[abbr_in] = text_in
# write amended dictionary
with open('acronym_dict.py','w')as outfile:
outfile.write(str(acronyms))
outfile.close()
def remove_acronym():
name = addordel_acronym.get().upper()
name.upper()
r =dict(acronyms)
del r[name]
# write amended dictionary
with open('acronym_dict.py','w')as outfile:
outfile.write(str(r))
outfile.close()
我得到的错误是:
TypeError: get() missing 1 required positional argument: 'self'
有人能来帮我吗。不知道该怎么办。 谢谢
您给出的错误消息与tkinter无关。当您收到一条错误消息:
。。。这意味着您正在调用一个类似
something.get()
的函数,但是您定义了def something(self)
。所以,跟踪哪个函数调用抛出了这个错误,以找到您的问题。我的猜测是你有一些变量,你认为它是一个字典,但实际上是一个类的实例。在根据对这个问题原始版本的评论,您似乎错误地使用了tkinter
^{pr2}$StringVar
类。你显然是在这样做:这将导致您将一个类分配给
variable
,而不是将类的实例分配给variable
。该类定义了一个名为get
的方法,但它需要self
参数,该参数告诉类您正在引用哪个实例。由于您没有引用实例,self
是未定义的,因此您将得到您报告的错误。在要解决问题,必须创建
^{3}$StringVar
的实例,如下所示:相关问题 更多 >
编程相关推荐