朋友们好,今天是周五,又到了快放假的时间,激不激动?高不高兴?但是我还是要继续分享 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)
好了,以上就是今天分享的文件整理小工具,还是蛮实用的,快来尝试一下吧!

 

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信