在本章中,我们将编写程序来执行此操作。
1)选择文件夹。
2)在UI的标签部分打印该文件夹中的所有文件名(带文件扩展名)。
首先,修改selectFile函数以打开文件夹。主文件如下:
from tkinter import *
from tkinter import filedialog
from Remove import Remove
win = Tk() # 1 Create instance
win.title("Multitas") # 2 Add a title
win.resizable(0, 0) # 3 Disable resizing the GUI
win.configure(background='black') # 4 change background color
# 5 Create a label
aLabel = Label(win, text="Remove duplicate file", anchor="center")
aLabel.grid(column=0, row=1)
aLabel.configure(foreground="white")
aLabel.configure(background="black")
# 6 Create a selectFile function to be used by button
def selectFile():
#filename = filedialog.askopenfilename(initialdir="/", title="Select file")
folder = filedialog.askdirectory() # 7 open a folder then create and start a new thread to print those filenames from the selected folder
remove = Remove(folder, aLabel)
remove.start()
# 8 Adding a Button
action = Button(win, text="Open Folder", command=selectFile)
action.grid(column=0, row=0) # 9 Position the button
action.configure(background='brown')
action.configure(foreground='white')
win.mainloop() # 10 start GUI
然后在Remove.py中增加使用os.listdir来返回文件列表:
import threading
import os
class Remove(threading.Thread):
def __init__(self, massage, aLabel):
threading.Thread.__init__(self)
self.massage = massage
self.label = aLabel
def run(self):
text_filename = ''
filepaths = os.listdir(self.massage)
for filepath in filepaths:
text_filename += filepath + '\n'
self.label.config(text=text_filename)
return
参考资料
- 讨论qq群144081101 567351477
- 本文最新版本地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
- python工具书籍下载-持续更新
- python GUI工具书籍下载-持续更新