目的: 把一批文件,按照后缀名新建对应的文件夹,并移动相应的文件到对应的文件夹.实现文件的自动归类.
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或False4. 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对自己不熟悉的东西进行测试
```
>> import os
>> os.path.exists('/Users')
True
>> os.path.exists('/Public')
False
```