Python 无法在Main()内调用函数
我是一名初学者,目前正在从事一个个人项目,使用Tkinter在Python2上开发一个小型应用程序。然而,我在调用我创建的函数时遇到了问题。 1.知道Python上的Tkinter是基于事件的,因此我创建了一个按钮来上载特定文件,然后将文件中的值存储到列表变量中。 2.然后,我使用另一个按钮尝试调用print函数来打印列表变量中存储的值中的值 希望有人能帮我Python 无法在Main()内调用函数,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我是一名初学者,目前正在从事一个个人项目,使用Tkinter在Python2上开发一个小型应用程序。然而,我在调用我创建的函数时遇到了问题。 1.知道Python上的Tkinter是基于事件的,因此我创建了一个按钮来上载特定文件,然后将文件中的值存储到列表变量中。 2.然后,我使用另一个按钮尝试调用print函数来打印列表变量中存储的值中的值 希望有人能帮我 def uploadFile(): openFile = tkFileDialog.askopenfilename(filetype
def uploadFile():
openFile = tkFileDialog.askopenfilename(filetypes = (("",".csv"),("All
files", "*.*")))
with open(openFile) as file:
reader = csv.reader(file)
xUF = [row for row in reader]
return xUF
def printUF():
for row in xUF:
print row
count=0
if count>5:
break
count += 1
def main():
l1=tk.Label(root,text="Upload File")
l1.pack()
l1.place(x=55,y=170)
#buttons/placements for GUI
b1=tk.Button(root,text="Browse", command=uploadFile)
b1.pack()
b1.place(x=100,y=200)
b2=tk.Button(root,text="Print", command=printUF())
b2.pack()
root.title("HELLO")
root.geometry("500x500")
root.mainloop()
if __name__ == '__main__':
main()
第行周围缺少括号
def printUF():
for row in xUF:
print (row) <---
count=0
if count>5:
break
count += 1
def printUF():
对于xUF中的行:
打印(第5行):
打破
计数+=1
我不太清楚您的错误是什么。但我怀疑是这样的:
您正在将command=printUF()
传递给Button
类,而我认为您只需要command=printUF
,因为Button
可能希望在点击时调用函数。现在,您正在将printUF
的结果而不是函数本身传递给按钮
。这条线应该是这样的:
b2=tk.Button(root,text="Print", command=printUF)
您没有真正说明您的问题或所遇到的错误。
xUF
是uploadFile()
中的一个局部变量-它根本不存在于该函数之外。从函数返回它不会改变任何事情,因为调用按钮命令函数的是Tkinter本身,它对返回值没有任何作用。我想如果我在函数中返回xUF,if将返回一个值,这个值是我在顶部声明的,具有相同的变量名。请注意2.7标记。还要注意xUF不存在