python - 使用python的高效文件浏览器
问题描述
我想构建一个高效的文件浏览器,我的意图是只打开 4 种特定的文件类型,它正在发生,但问题是我希望在文件对话框中,只有那些文件类型应该出现,这样选择就变成了更容易,但现在发生的是所有其他文件夹也出现了,但我想要的是在文件对话框中只有那些文件应该出现我想要打开的文件类型。这个怎么做??
import tkinter as tk
import os
from tkinter import filedialog
window=tk.Tk()
apps=[]
def file_browser():
for widget in frame.winfo_children():
widget.destroy()
filename=filedialog.askopenfilename(initialdir="/",title="Select File",
filetypes=(("presentations","*.pptx"),("Word Files","*.docx"),("All PDFs","*.pdf"),
("All text files","*.txt")))
apps.append(filename)
for app in apps:
label=tk.Label(frame,text=app,bg="yellow",fg="red")
label.pack()
def run_apps():
for app in apps:
os.startfile(app)
window.title("Document Finder")
canvas=tk.Canvas(window,height=500,width=500,bg="#263D42")
canvas.pack()
frame=tk.Frame(window,bg="white")
frame.place(relwidth=0.8,relheight=0.8,relx=0.1,rely=0.1)
btn1=tk.Button(window,text="Open File", padx=10, pady=5,
fg="white",bg="#263D42",command = file_browser)
btn1.pack()
btn2=tk.Button(window,text="Run File", padx=10, pady=5,
fg="white",bg="#263D42",command=run_apps)
btn2.pack()
window.mainloop()
解决方案
当您打开文件对话框时,只会出现那些指定的文件类型。Windows 文件资源管理器将显示所有文件夹,但打开文件夹后,只会显示指定的文件类型。
你这样做是对的,当你打开所有出现的文件夹时,只出现那些指定的文件类型。
推荐阅读
- django - 将 Json 数据重定向到另一个视图
- haskell - 如何在 GHCI 调试器中更改变量的值?
- angular - 无法读取属性长度
- .htaccess - 更改某些文件名后如何进行 301 永久重定向
- css - Div 垂直扩展,但如果它已填满其容器,则可滚动
- javascript - RXJS 6 Doubts Chaining observables
- php - 如何在 duncan3dc / 黄昏中使用点击?
- php - 为什么 PHP 的内存使用在另一个环境中,使用相同的代码时会有很大的不同
- php - 创建带有字母和重音符号的正则表达式
- c# - 如何使用反射将具有集合的复杂类复制到其他类和不同的专有名称