计算机网站建设和维护,企业小程序怎么申请注册,小程序登录异常,鞍山网站建设公司经常杂乱无章的文件夹会让我们找不到所想要的文件#xff0c;因此小编特意制作了一个可视化GUI界面#xff0c;通过输入路径一键点击实现文件分门别类的归档。
不同的文件后缀归类为不同的类别
我们先罗列一下大致有几类文件#xff0c;根据文件的后缀来设定#xff0c;大…经常杂乱无章的文件夹会让我们找不到所想要的文件因此小编特意制作了一个可视化GUI界面通过输入路径一键点击实现文件分门别类的归档。
不同的文件后缀归类为不同的类别
我们先罗列一下大致有几类文件根据文件的后缀来设定大致如下
SUBDIR {DOCUMENTS: [.pdf, .docx, .txt, .html],AUDIO: [.m4a, .m4b, .mp3, .mp4],IMAGES: [.jpg, .jpeg, .png, .gif],DataFile: [.csv, .xlsx]
}上面所罗列出来的文件后缀并不全面读者可以根据自己的需求往里面添加可以根据自己的喜好来进行分文别类然后我们自定义一个函数根据输入的一个文件后缀来判断它是属于哪个类的
def pickDir(value):for category, ekstensi in SUBDIR.items():for suffix in ekstensi:if suffix value:return category例如输入的是.pdf返回的则是DOCUMENTS这个类。我们还需要再自定义一个函数遍历当前目录下的所有文件获取众多文件的后缀将这些不同后缀的文件分别移入不同类别的文件夹代码如下
def organizeDir(path_val):for item in os.scandir(path_val):if item.is_dir():continuefilePath Path(item)file_suffix filePath.suffix.lower()directory pickDir(file_suffix)directoryPath Path(directory)# 新建文件夹要是该文件夹不存在的话if directoryPath.is_dir() ! True:directoryPath.mkdir()filePath.rename(directoryPath.joinpath(filePath))output
我们再次基础之上再封装一下做成Python的可视化GUI界面代码如下
class FileOrgnizer(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(整理, self)self.findButton.setGeometry(60, 85, 100, 40)self.quitButton QPushButton(退出, 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()def pickDir(self, value):for category, ekstensi in SUBDIR.items():for suffix in ekstensi:if suffix value:return categorydef organizeDir(self, event):path_val self.textbox.text()print(路径为: path_val)for item in os.scandir(path_val):if item.is_dir():continuefilePath Path(item)fileType filePath.suffix.lower()directory self.pickDir(fileType)if directory None:continuedirectoryPath Path(directory)if directoryPath.is_dir() ! True:directoryPath.mkdir()filePath.rename(directoryPath.joinpath(filePath))reply QMessageBox.information(self, 完成, 任务完成请问是否要退出, QMessageBox.Yes | QMessageBox.No, QMessageBox.No)if reply QMessageBox.Yes:event.accept()else:event.ignore()def closeEvent(self, event):reply QMessageBox.question(self, 退出,确定退出?, QMessageBox.Yes |QMessageBox.No, QMessageBox.No)if reply QMessageBox.Yes:event.accept()else:event.ignore()效果如下图所示
最后我们通过pyinstaller模块来将Python代码打包成可执行文件操作指令如下
pyinstaller -F -w 文件名.py部分参数含义如下 -F表示生成单个可执行文件 -w表示去掉控制台窗口这在GUI界面时时非常有用的 -i表示可执行文件的图标
技术交流
技术要学会分享、交流不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。
技术交流、资料干货、数据源码均可加交流群获取群友已超过2000人添加时最好的备注方式为来源兴趣方向方便找到志同道合的朋友。 方式①、微信搜索公众号Python学习与数据挖掘后台回复 tkinter 方式②、添加微信号dkl88194备注来自CSDN 交流 毕设/大作业系列
毕设/大作业基于PythonFlaskMySQL的豆瓣电影可视化系统毕设/大作业搭建基于 PythonFlaskMySQL 的学生培养计划管理系统附源码毕设/大作业一款基于 Pythonflask 的态势感知系统附完整源码)毕设/大作业基于 Python 的 Flask 框架开发的在线电影网站系统附完整源码毕设/大作业基于 Echarts Python Flask 动态实时大屏轻松可以实现毕设/大作业基于 PythonDjango 构建智能互动拍照系统毕设/大作业基于 PythonFlaskSQLite 的网易云音乐评论情感分析系统毕设/大作业基于 Python 和Surprise库新手轻松搭建推荐系统毕设/大作业基于 PythonDjangoMySQL 数据库的租房数据可视化系统