我有以下代码,实际上在一个框架内有两个功能。因此,我正在使用条目的值调用第二个函数。
现在,被调用的函数将值作为元组接收,第一个值为: << strong>主要 .StartPage对象。!frame。!startpage>
需要帮助修复它。
def loadFile(self):
self.filename = askopenfilename(filetypes=(("info", "*.xlsx"), ("all file", "*.*")))
if self.filename:
extension = self.filename[self.filename.rfind('.'):]
if extension == '.ods':
messagebox.showerror("Error", "Error message")
else:
vVerify = self.verifyExcel(self.filename)
if vVerify == 1:
self.verify_button = tk.Button(self, text="Verified")
self.verify_button.grid(row=1,column=2)
#self.filename = self.filename.split("/")[-1]
self.filedir.delete(0, "end")
#self.filedir.insert(0, self.dirName+self.filename)
self.filedir.insert(0, self.filename)
else:
messagebox.showerror("Error", "Error message 1")
def verifyExcel(*xlFile):
print(xlFile)
我只是使用xlFile [1]来获取实际值,但这似乎不正确。
答案 0 :(得分:0)
这样做的时候
vVerify = self.verifyExcel(self.filename)
这是语法糖
vVerify = YourClass.verifyExcel(self, self.filename)
因此,在方法声明为def verifyExcel(*xlFile)
的情况下,xlFile
参数将是元组(self, self.filename)
。规范的方法是用两个参数声明方法,第一个参数是self
,即使您不需要self
参数也是如此:
def verifyExcel(self, xlFile):
print(xlFile)