我有一個腳本,它打開一個提示視窗,讓用戶在執行一些其他任務之前選擇一個目錄。如果用戶選擇“取消”,我希望程式顯示適當的訊息并退出程式。
但是,我無法讓它發揮作用。這是我嘗試過的:
import tkinter as tk
import pathlib
from tkinter import filedialog
print('\nScript Initialised\nOpening File Dialog Window...\n')
# Define Functions here
def chooseDir():
print('Choose folder 1')
global outputfolder
outputfolder = pathlib.Path(filedialog.askdirectory(title="Output Folder", initialdir='C:\\'))
if outputfolder == '.':
print('No folder selected. Program exiting.')
quit()
root.withdraw()
def openFile():
print('Choose folder 2')
global inputfolder
inputfolder = pathlib.Path(filedialog.askdirectory(title="Import Folder", initialdir='C:\\'))
if inputfolder == '.':
print('No folder selected. Program exiting.')
quit()
root.withdraw()
# Create Tkinter menu
root = tk.Tk()
root.withdraw()
openFile()
root.withdraw()
chooseDir()
root.destroy()
root.mainloop()
print(outputfolder)
print(inputfolder)
我還嘗試了一個空字串 '' 并且似乎沒有在 if 陳述句中列印訊息。
uj5u.com熱心網友回復:
的定義行為askdirectory是如果您按下取消,則回傳空字串。你需要檢查一下。相反,您正在做的是Path在進行檢查之前將該空字串轉換為物件。在您確認它不是空字串之前,您不應該這樣做。
path = filedialog.askdirectory(title="Output Folder", initialdir='C:\\')
if path == "":
print("No folder selected. Program exiting.")
quit()
outputfolder = pathlib.Path(path)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419074.html
標籤:
