当前位置: 首页 > 后端技术 > Python

Python制作可视化GUI界面,一键自动分类管理文件!

时间:2023-03-26 00:40:38 Python

经常杂乱的文件夹让我们找不到想要的文件,所以我们特意做了可视化的GUI界面,一键输入路径即可实现文件分类归档。不同的文件后缀分为不同的类别。我们先大致列出几种文件类型,根据文件后缀进行设置,大致如下SUBDIR={"DOCUMENTS":[".pdf",".docx",".txt",".html"],“音频”:[.m4a]、“.m4b”、“.mp3”、“.mp4”],“图像”:[.jpg]、“.jpeg”、“.png”、“.gif”],"DataFile":[.csv",".xlsx"]}上面列出的文件后缀并不全面,读者可以根据自己的需要添加。根据自己的喜好对文本进行分类,然后自定义一个函数,根据一个输入文件的后缀来判断它属于哪一类suffix==value:返回类别例如输入为.pdf,则返回类别为DOCUMENTS。我们还需要自定义一个函数,遍历当前目录下的所有文件,获取很多文件的后缀,将这些不同后缀的文件移动到不同类别的文件夹中。代码如下deforganizeDir(path_val):foriteminos.scandir(path_val):如果item.is_dir():继续filePath=path(item)file_suffix=filepath.suffix.suffix.lower()directory=pickdir(file_suffix)directorypath=path(directory)IfitexistsifdirectoryPath.is_dir()!=True:directoryPath.mkdir()filePath.rename(directoryPath.joinpath(filePath))output我们再在基础上搭建,然后封装做一个Python可视化GUI界面。代码如下classFileOrgnizer(QWidget):def__init__(self):super().__init__()self.lb=QLabel(self)self.lb.setGeometry(70,25,80,40)self.lb。setText('文件夹管理器:')self.textbox=QLineEdit(self)self.textbox.setGeometry(170,30,130,30)self.findButton=QPushButton('Organize',self)self.findButton.setGeometry(60,0,85,)self.quitButton=QPushButton('quit',self)self.quitButton.clicked.connect(self.closeEvent)self.findButton.clicked.connect(self.organizeDir)self.quitButton.setGeometry(190,85,100,40)self.setGeometry(500,500,350,150)self.setWindowTitle('Icon')self.setWindowIcon(QIcon('../751.png'))self.show()defpickDir(self,value):对于类别,ekstensiinSUBDIR.items():对于后缀在ekstensi中:如果后缀==值:返回类别defandisizeir(self,event):path_val=self.textbox.text()print(“os.scandir(path_val)中的项目).is_dir():继续filepath=路径(item)filetype=filePath.suffix.lower()directory=self.pickdir(filetype)如果目录==无:none:continedirectorypath=path(directory)如果directorypath.is_dir.is_dir()!===)真e:directoryPath.mkdir()filePath.rename(directoryPath.joinpath(filePath))reply=QMessageBox.information(self,"Complete","任务完成,要退出吗?",QMessageBox.YesBox|NoQMessage.No)Ifrepy==qmessageBox.yes:EVENT.ACCEPT()ELSE:Event.ignore()DEFClosevent(Self,Event):Reply=QMESSAGEBOX.question(SELF,'Exit',"QmessagOK?",QMESSAG.Yes|qmessageBox.no,qmessagebox.no)Ifrepy==qmessageBox.yes:Event.accept()ELSE:Event.Ignore()效果如下图所示,我们通过Pyinstaller模块打包成可执行文件进入可执行文件.,运行说明如下pyinstaller-F-w文件名.py部分参数含义如下:-F:表示生成单个可执行文件-w:表示去掉控制台窗口,在GUI界面-i:表示可执行文件图标上方是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发“J”还能收到大量学习资料,内容涵盖Python电子书、教程、数据库编程、Django、爬虫、云计算等或者去编程学习网了解更多编程技术。