10行Python代码助你整理杂乱无章的文件
酱子们大家好,今天继续分享 Python 小工具
今天的小程序,可以一键完成文件整理,一起来看看吧!
按照文件格式整理
具体来说就是不同的文件后缀名称放置到不同的文件夹当中
今天我们只需要使用 os 和 shutil 两个库就足够了。os 是 Python 内置模块,用于操作系统的相关功能,shutil 是用来进行文件移动等操作的。
首先我们先来看几个获取文件后缀的方法
获取文件后缀
方法1:
直接通过 os 库实现
filename = os.path.splitext('1.jpg')
Output:
('1', '.jpg')
得到一个包含文件名和后缀名的元组,此时再想获得文件后缀就很容易了吧~
方法2:
可以直接使用字符串方法 endwith,简单明了
file = "1.jpg".endswith(".jpg")
如果结尾字符是 “.jpg” 的话,那么该方法的返回值则为 True,以此我们可以判断文件的后缀名
方法3:
使用字符串的 split 方法,通过切分来获取后缀名称
file1 = "1.jpg".split('.')
这样可以得到一个列表,第二个元素就是后缀名
接下来我们就可以创建文件夹和拷贝文件了,分别用 os.mkdir 和 shutil.copy 来操作
代码如下:
import os import shutil files = os.listdir(".") for f in files: if os.path.isfile(f) and not f.startswith('.'): folder_name = os.path.splitext(f)[-1] folder_name = folder_name.split(".")[-1] print(folder_name) if not os.path.exists(folder_name): os.mkdir(folder_name) shutil.copy(f, folder_name) else: shutil.copy(f, folder_name)
通过上面的代码,我们就可以在当前目录下顺利地整理文件了
按照文件大小整理
当然有的时候,我们同样希望把大小类似的文件整理到一个文件夹当中,可以通过 os 库的 getsize 函数来获取
print(os.path.getsize("1.jpg"))
这样就可以得到该文件的大小,单位是 KB
完整代码如下:
import os import shutil files = os.listdir(".") for f in files: if os.path.isfile(f) and not f.startswith('.'): size = os.path.getsize(f) if size < 1000: folder_name = "Under_one_MB" if not os.path.exists(folder_name): os.mkdir(folder_name) shutil.copy(f, folder_name) else: shutil.copy(f, folder_name) elif 10000 <= size < 2000: folder_name = "Under_two_MB" if not os.path.exists(folder_name): os.mkdir(folder_name) shutil.copy(f, folder_name) else: shutil.copy(f, folder_name)
好了,以上就是今天分享的文件整理小工具,还是蛮实用的,快来尝试一下吧!
到此这篇关于10行Python代码助你整理杂乱无章的文件的文章就介绍到这了,更多相关Python整理文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python jieba分词并统计词频后输出结果到Excel和txt文档方法
本篇文章主要介绍了python jieba分词并统计词频后输出结果到Excel和txt文档方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-02-02浅谈Tensorflow由于版本问题出现的几种错误及解决方法
今天小编就为大家分享一篇浅谈Tensorflow由于版本问题出现的几种错误及解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-06-06python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
这篇文章给大家分享了关于python安装PIL模块时遇到Unable to find vcvarsall.bat错误的解决方法,相信会对不少人有一定的参考借鉴价值。有需要的朋友们下面来一起看看吧。2016-09-09Python matplotlib绘制xkcd动漫风格的图表
xkcd是兰道尔·门罗(Randall Munroe)的网名,又是他所创作的漫画的名称。本文将用matplotlib库绘制xkcd动漫风格的图表,感兴趣的可以了解一下2022-03-03pycharm2022没有manage repositories配置镜像源的解决方法
本文主要介绍了pycharm2022没有manage repositories配置镜像源的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-02-02详解利用python-highcharts库绘制交互式可视化图表
本文主要和大家分享一个超强交互式可视化绘制工具-python-highcharts。python-highcharts就是使用Python进行Highcharts项目绘制,简单的说就是实现Python和Javascript之间的简单转换层,感兴趣的可以了解一下2022-03-03
最新评论