菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
2473
0

python 整理文件

原创
05/13 14:22
阅读数 2404

前言

文件整理常常会浪费很多时间。但如果让机器来做这样复杂的事情,不到 10 秒钟就能完成 1 个小时工作。

整理方式

进行文件整理最直接的方式就是通过文件类型进行整理。所有的 txt 文件放在一个叫做 txt 文件的文件夹,exe 文件放在另一个叫做 exe 文件的文件夹里。

操作

导入两个模块,shutil 和 os。os 模块可以帮助我们读取文件夹的文件和创建分类文件的文件夹。而 shutil 模块是帮助我们移动文件到文件夹里。

import shutil,os

我们需要一个整理目标和需要整理的文件类型,用 input () 来给用户输入。

clean = input('请输入要整理的目录路径(请用双反斜杠):')
file_name = input("需要分类的文件(输入文件扩展名,用英文符号‘,’隔开可以写多个文件扩展名):").split(',')

为了获取多个分类文件,我们要用 split 来处理 ','。这样就可以让用户输入多个文件类型了。

如果有整理剩余的文件,我们可以创建出一个叫做其它文件的文件夹,所以我们还要询问用户是否要创建一个其它文件的文件夹。

choose = input('请问是否要创建一个整理剩余文件的文件夹?(yes or no)')

之后,我们就列出来目标文件夹的目录,用 files = os.listdir (clean),之后再用 for 循环遍历出所有需要分类的文件。

files = os.listdir(clean)
for i in file_name:
     os.mkdir(clean + i + '文件')

如果刚刚询问用户是否要创建出一个整理剩余文件夹时用户输入了 yes,那么就也创建一个叫做其它文件的文件夹。

if choose == 'yes':
            os.mkdir(clean + '其它文件')

目标有了,创建出了一个文件夹,就差最后一步,把分类文件移到文件夹,这时候 shutil 模块就派上了用场,move 这个函数需要两个参数,一个是要移动的文件的路径,一个是移动到哪里的路径。用 for 循环遍历出 files 的所有文件,再用 shutil 模块的 move 函数进行移动文件。

for i in files:
            for file in file_name:
                if os.path.isdir(clean + i):
                    break
                if i.endswith(file):
                    shutil.move(clean + i,clean + file + '文件')
                    break
                if file == file_name[0]:
                    if j1:
                        shutil.move(clean + i,clean + '其它文件')

注意:clean 变量之所以会在这里出现是因为需要和 i 拼接出一个完整的文件夹路径,没有完整的路径,就会报出一个 filenotfounderror(找不到指定的目录)。

最后,这个简单的文件整理操作就完成了,之后也可以添加一些其他的东西,比如处理异常,永远执行......

发表评论

0/200
2473 点赞
0 评论
收藏
为你推荐 换一批