如何在 Python 代码的其余部分使用从 tkinter 导入的文件



我正在尝试从 tkinter GUI 导入一个文件,以便在我的其余代码中使用。

import numpy as np
import tkinter as tk
from tkinter import filedialog
def FileImport():
file = filedialog.askopenfilename()
label = tk.Label(root, text = "Selected: "+file).pack()
root= tk.Tk() 
root.title('Main')
label = tk.Label(root, text = "Upload a file: ", fg="purple").pack()
button = tk.Button(root, text='Upload',fg="blue", command=FileImport)
button.pack()
root.mainloop()
uploaded_file = np.fromfile(file) 

然后,我正在尝试对该文件数据执行计算和其他操作。

问题是,当我运行代码时,GUI 工作"正常",我可以上传一个文件,但随后它告诉我名称"uploaded_file"未定义。我想我的 GUI 和其余代码之间缺少一些连接?有什么建议吗?

添加file=''然后使用 global 在函数中调用它可以解决这个问题。 试试这个:

import numpy as np
import tkinter as tk
from tkinter import filedialog
file = ''
def FileImport():
global file
file = filedialog.askopenfilename()
label = tk.Label(root, text = "Selected: "+file).pack()
root= tk.Tk()
root.title('Main')
label = tk.Label(root, text = "Upload a file: ", fg="purple").pack()
button = tk.Button(root, text='Upload',fg="blue", command=FileImport)
button.pack()
root.mainloop()
uploaded_file = np.fromfile(file)
print(uploaded_file)

希望对您有所帮助!

最新更新