Python实现文件自动归类

Posted by 石坤 on 2018-02-28
1
2
3
4
5
6
7
8
9
10
目的: 把一批文件,按照后缀名新建对应的文件夹,并移动相应的文件到对应的文件夹.实现文件的自动归类.
import shutil
import os
path = "/Users/sk/Documents/script_project2_files"
files = os.listdir(path)
for f in files:
end = f.split(".")[-1]
if not os.path.exists(path + "/"+end):
os.makedirs(path + "/"+end)
shutil.move(path+"/"+f, path + "/"+end)

Python笔记

  1. os.listdir(path),返回path下的所有文件名

  2. shutil.move(a,b) 把文件从a路径移动到b路径

  3. os.path.exists() 判断路径是否存在,返回True或False

  4. os.makedirs() 创建文件夹

  5. string.split() 分割字符串,返回的是一个list

心路历程

  1. path,指定路径

  2. os.listdir(path),读出文件名

  3. 条件判断后缀名,进行分类,对不同文件创建文件夹,并把同一类文件移入指定文件夹.

具象化想象问题,并在脑子中模拟解决.文件自动归类:有一堆不同后缀名的文件

  1. 识别出不同后缀名的文件

  2. 使用Python的某个库将文件移动到指定文件夹

如何移动文件: 使用内置模块shutil.move归类的规则: 自动创建文件夹,并以后缀名作为文件夹名为了测试,降低任务的复杂度,可以先手动新建文件夹并命名,只需做到移动特定文件到匹配的文件夹即可

先思考主框架,然后再逐步填充,

完善遇到的问题: 文件格式为”xxx.xx”,如何取出后面的xx呢?

Python的基础知识不够扎实,所以会遇到很多问题.卡在了这个问题上,没有查到相关资料.

问题解决string.split(“.”)[-1]先使用split以.进行分割,返回的是一个list,然后取出最后一个分段

学会一些meta的知识点,然后根据自己遇到的问题,进行组合.凡是需要灵活组合的东西,都需要深入的理解之后,才可以进行.为什么需要系统的学习?如果不经过系统的学习,你不知道你不知道.遇到问题,你甚至不知道关键词是什么,很难顺利找到解决方案.通过练习熟练的应用编程语言提供的各种工具(库,框架),很多时候一个问题有很多种解决方法,但是要找到一个最佳的解决方法不容易.只能通过慢慢积累.

相对路径:’./‘

Unix下 路径使用/分割

可以使用pycharm中的console对自己不熟悉的东西进行测试

1
2
3
4
5
6
7
>> import os
>> os.path.exists('/Users')
True

>> os.path.exists('/Public')

False