用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!
作者 | 欣一
来源 | Python爱好者集中营
经常杂乱无章的文件夹会让我们找不到所想要的文件,因此小编特意制作了一个可视化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
:表示可执行文件的图标
往期回顾资讯变身「毒」苹果?全球首个DMP漏洞
资讯
从祖师级到新生代,开发者的成功秘籍
技术浅谈Python中的字符串格式化输出
技术10个有趣的Python高级脚本!分享
点收藏
点点赞
点在看
用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!相关推荐
- 用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
今天,我们来分享一下如何通过Python的十来行代码来替换证件照的背景颜色,那么在最后,小编也会将上述的流程制作成一个GUI界面来方便大家使用.关于界面的大致模样其实和先前的相差不大,大家应该都看过上 ...
- 用Python制作可视化GUI界面,顺便实现自动分类整理文件
有时候,我们写了一些简单.有用的小代码.此时,如果能够有一个可视化GUI界面,是不是显得很舒服.今天介绍的一个Python库,超级牛逼,几行代码就可以实现一个可视化界面! 应朋友私信要求,开通技术交流 ...
- 【Python】用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
今天,我们来分享一下如何通过Python的十来行代码来替换证件照的背景颜色,那么在最后,小编也会将上述的流程制作成一个GUI界面来方便大家使用.关于界面的大致模样其实和先前的相差不大,大家应该都看过上 ...
- 用 Python 制作可视化 GUI 界面,一键实现将头像转成动漫风!
作者 | 欣一 来源 | Python爱好者集中营 最近在Github上面有看到将头像转化成动漫风的项目,但是对于不少没有技术背景的同学来说可能就不知道该怎么使用了,小编今天制作了一个UI界面,大家可 ...
- 闺蜜的电脑桌面总是杂乱无章,实在看不下去了。用Python实现一键实现自动分类管理文件。
闺蜜的电脑桌面是这样的. 只能说还好是mac.不然电脑应该是非常卡的.今天也教你们怎么意见整理. 不同的文件后缀归类为不同的类别 我们先罗列一下大致有几类文件,根据文件的后缀来设定,大致如下 SUBD ...
- python数据写入表格生成图片_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...
前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 生成一些随机姓名 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个 ...
- python高手养成百家号_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...
前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个随机姓名,为了节省 ...
- python简单可视化聊天界面_如何用Python制作可视化输入界面
继续研究Python的应用,我们在有些程序中需要输入一些参数,可由几种方式实现 1.直接写在程序里,适合编程使用 2.使用input()函数,运行程序时输入 3.做成可视化界面,然后让程序获得 今天主 ...
- Python自动化整理文件,还增加了可视化GUI界面
有时候,我们写了一些简单.有用的小代码. 此时,如果能够有一个可视化GUI界面,是不是显得很舒服.今天介绍的一个Python库,超级牛逼,几行代码就可以实现一个可视化界面! Gooey介绍 这里用到的 ...
最新文章
- jquery验证手机号码和邮箱地址例子
- import导入模块
- Python 爬虫+tkinter界面 实现历史天气查询
- 语言中能产生汉明窗吗_0—6岁幼儿的语言、秩序、情感、数学敏感期,有这些特点和表现...
- html页面滚动导致阴影出现,三种处理滚动穿透问题方案的对比
- 天津大学计算机专硕_「20考研」计算机考研专业课变动汇总
- Python SciPy教程
- python 环境问题
- 信用卡前6位bin号代表什么
- 以后你肯定会用到的,25个常用Matplotlib图的Python代码,可以不会不能没有,建议收藏
- 2007年计算机工程师,全国计算机等级考试四级数据库工程师考试大纲(2007年版)...
- 简单说说路由器和交换机的区别
- 自动检测技术学习心得体会_自动化学习心得
- zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
- linux C获取本地IP地址
- 乐观人生VS悲观人生
- excel单元格内容拆分_Excel中把一个单元格内容拆分到多个单元格内的两种方法...
- 【毕设项目】新闻推荐平台功能详解----新闻推荐系统
- 中国信保总经理唐若疑卷入ST宏盛合同诈骗案昕下马
- 计算机网络——什么是计算机网络