目的: 把一批文件,按照后缀名新建对应的文件夹,并移动相应的文件到对应的文件夹.实现文件的自动归类. import shutilimport ospath = '/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 ``` |
|