用Python thinker写一个文件名分类程序,将文件名带PNS关键字和BG关键字的文件分开
时间: 2024-02-09 12:13:38 浏览: 77
好的,以下是一个可能的实现,使用 tkinter 和 os 库:
```python
import tkinter as tk
import os
class FileSorter:
def __init__(self, master):
self.master = master
master.title("文件名分类")
# 创建标签
self.label = tk.Label(master, text="将文件名带 PNS 关键字和 BG 关键字的文件分开")
self.label.pack()
# 创建按钮
self.sort_button = tk.Button(master, text="开始分类", command=self.sort_files)
self.sort_button.pack()
def sort_files(self):
# 获取当前目录下的所有文件名
file_names = os.listdir()
# 创建存储不同类型文件名的列表
pns_files = []
bg_files = []
# 遍历每个文件名
for file_name in file_names:
# 判断文件名是否包含 PNS 或 BG 关键字
if "PNS" in file_name:
pns_files.append(file_name)
elif "BG" in file_name:
bg_files.append(file_name)
# 在当前目录下创建两个新的子目录
os.makedirs("PNS Files", exist_ok=True)
os.makedirs("BG Files", exist_ok=True)
# 将分好类的文件移动到对应的子目录中
for pns_file in pns_files:
os.rename(pns_file, os.path.join("PNS Files", pns_file))
for bg_file in bg_files:
os.rename(bg_file, os.path.join("BG Files", bg_file))
# 弹出消息框提示分类完成
tk.messagebox.showinfo("分类完成", f"共分类出 {len(pns_files)} 个 PNS 文件和 {len(bg_files)} 个 BG 文件")
root = tk.Tk()
file_sorter = FileSorter(root)
root.mainloop()
```
此程序会在当前目录下创建两个新的子目录 `PNS Files` 和 `BG Files`,并将文件名包含 `PNS` 或 `BG` 关键字的文件移动到对应的子目录中。运行程序后,点击 `开始分类` 按钮即可开始分类。分类完成后会弹出一个消息框提示分类结果。
阅读全文