我有一個功能open_data可以打開一個檔案對話框讓我選擇一個特定的檔案。我想run_data在同一個檔案的另一個函式中訪問選定的檔案。下面是我的代碼的示例演示。run_data歡迎對函式中所選檔案提出任何建議。
def open_data():
dialog = filedialog.askopenfilename(initialdir=".\", title="Select A Data",
filetypes=(("numpy files", "*.npy"),
("all files", "*.*")))
for data in dialog:
print(data, end="")
def run_data():
## I want to access the selected data from the above dialog in this function##
return data
uj5u.com熱心網友回復:
askopenfilename()回傳檔案名而不是打開的檔案,因此您需要打開它才能訪問其內容。您還需要檢查,因為回傳的值可能是None用戶在沒有選擇任何內容的情況下取消了對話框。
由于您想在單獨的函式中檢索資料,因此您需要使用一個global變數來保存函式呼叫之間的資料。
data = None # Initialize global variable.
def open_data():
global data
filename = filedialog.askopenfilename(initialdir=".\", title="Select A Data",
filetypes=(("numpy files", "*.npy"),
("all files", "*.*")))
if not filename:
data = None # User didn't select a file.
else:
data = np.load(filename)
def run_data():
return data
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/492996.html
