窗口选择文件或者文件夹:
使用tkinter库创建一个简单的图形界面,允许用户选择文件或文件夹,并返回所选路径。
import tkinter as tk
from tkinter import filedialog
def select_file_or_folder():
selected_path = None
def select_folder():
nonlocal selected_path
folder_path = filedialog.askdirectory()
if folder_path:
selected_path = folder_path
root.withdraw()
root.destroy()
def select_file():
nonlocal selected_path
file_path = filedialog.askopenfilename()
if file_path:
selected_path = file_path
root.withdraw()
root.destroy()
def select_option():
if option.get() == 1:
select_file()
elif option.get() == 2:
select_folder()
root = tk.Tk()
root.withdraw()
option = tk.IntVar()
label = tk.Label(root, text="Select an option:")
label.pack()
file_button = tk.Radiobutton(root, text="选择一个文件", variable=option, value=1, command=select_file)
file_button.pack()
folder_button = tk.Radiobutton(root, text="选择文件夹", variable=option, value=2, command=select_folder)
folder_button.pack()
root.deiconify() # 显示窗口
root.mainloop()
return selected_path
path = select_file_or_folder()
print(path)
在select_folder()和select_file()函数内部调用了root.withdraw()来隐藏窗口,并使用root.destroy()来关闭窗口。这样,在选择文件或文件夹后,根窗口将被隐藏或关闭。
函数select_file_or_folder()是主函数,它执行以下操作:
- 初始化
selected_path变量为None,用于存储所选的文件或文件夹路径。 - 定义
select_folder()函数,用于选择文件夹路径。它使用filedialog.askdirectory()函数弹出一个文件夹选择对话框,并将所选的文件夹路径存储在folder_path变量中。- 如果选择了文件夹路径,将
selected_path设置为folder_path,然后使用root.withdraw()隐藏根窗口,最后使用root.destroy()关闭根窗口。
- 如果选择了文件夹路径,将
- 定义
select_file()函数,用于选择文件路径。它使用filedialog.askopenfilename()函数弹出一个文件选择对话框,并将所选的文件路径存储在file_path变量中。- 如果选择了文件路径,将
selected_path设置为file_path,然后使用root.withdraw()隐藏根窗口,最后使用root.destroy()关闭根窗口。
- 如果选择了文件路径,将
- 定义
select_option()函数,根据用户选择的选项调用相应的函数。- 如果选项为1,调用
select_file()函数。 - 如果选项为2,调用
select_folder()函数。
- 如果选项为1,调用
- 创建根窗口
root,并使用root.withdraw()隐藏窗口。 - 创建一个整型变量
option,用于存储用户选择的选项。 - 创建一个标签
label,显示文本"Select an option:"。 - 创建两个单选按钮
file_button和folder_button,分别表示选择文件和选择文件夹的选项。- 它们绑定到
option变量,并在选择时调用相应的函数。
- 它们绑定到
- 显示窗口,使用
root.deiconify()方法。 - 进入主事件循环,等待用户交互,直到用户进行选择并关闭窗口。
- 返回
selected_path,即用户所选的文件或文件夹路径。
最后,在调用select_file_or_folder()函数时,将所选路径存储在变量path中,并打印到控制台。
该代码通过使用tkinter库提供的对话框函数,结合使用标签和单选按钮,创建了一个简单的图形界面,以实现选择文件或文件夹的功能。

该代码示例展示了如何利用Python的tkinter库构建一个简单的GUI,用户可以选择文件或文件夹。通过filedialog模块的askdirectory()和askopenfilename()函数,实现文件和文件夹的选择,并返回所选路径。程序创建了两个单选按钮,一个用于选择文件,另一个用于选择文件夹,根据用户的选择调用相应功能。
1万+

被折叠的 条评论
为什么被折叠?



