之前关注了一个公众号“李云景”,推送了一个好玩的代码,使用python对目录下杂乱无章的文件按文件类型分类,如pdf,docx,jpg,刚好复习NLP学不下去,就去尝试一下,还是有几个小坑,自己的代码技术还是太弱啊,有点扎心。

废话少说,原理很简单,就是先获取当前目录下所有文件名字的列表然后对每个文件提取文件类型,然后将文件放到对应的文件夹去。主要用的库就是os和shutil,shutil是一个用于拷贝文件的库。但是使用他的代码时,我发现,如果类型文件夹已经存在某文件的时候,就会报错,提示已经存在这个文件,所以我在原来文件的基础上修改了一下,每次提取到文件类型时,去文件类型文件夹看看这个文件是否存在,如果存在则跳过,不存在的话再去移动。

代码及注释如下:

import os,shutil
# shutil模块主要是用于拷贝文件# 取得当前目录下的文件名称列表
files_list = os.listdir()
# 取得python脚本的名字
# __file__是取得当前脚本路径,如果路径是“\anaconda3\python”这样的格式,则要使用“\\”做切分
py_name = __file__.split('/')[-1]for file in files_list:# 如果是文件是当前执行的py脚本,则跳过if file == py_name:continue# 如果当前文件格式不是一个文件如“.”,则跳过if not os.path.isfile(file):continue# 取得当前文件名称的格式,(切分文件名,取最后的列表元素)file_type = file.split('.')[-1]# 如果没有某个格式的文件夹,则创建这个文件夹if not os.path.exists(file_type):os.mkdir(file_type)# 获取当前路径path = os.getcwd()# 获取分类文件夹路径subdir = os.path.join(path,'%s'%file_type)# 进入分类文件夹os.chdir(subdir)if os.path.exists(file):# 如果文件夹存在当前文件,则跳过continueelse:# 返回之前文件夹进行归类os.chdir(path)# shutil.move(源文件,指定路径):递归移动一个文件shutil.move(file,file_type)

主要是在python进出目录这里花了很长时间,汗颜,乖乖复习NLP去了,希望自己以后可以每天都写点关于python好玩的东西。

参考:

李云景原文:自动整理分类文件代码

os操作(1)

os操作(2)

使用python对目录下的文件进行分类相关推荐

  1. Python遍历目录下的文件(os.walk 、os.listdir的用法)

    Python遍历目录下的文件(os.walk .os.listdir的用法) 最近想从一个目录转移一些文件到另外一个目录,因为文件有指定的后缀,所以想着用python来转移,不做cv工程师,那就涉及到 ...

  2. python 将目录下的文件和子目录复制到指定文件夹

    递归方法,将某目录下的文件以及该目录的子目录下的文件,复制到指定目录,保持原文件目录 # 将目录的文件复制到指定目录 def copy_demo(src_dir, dst_dir):"&qu ...

  3. python查看目录下的文件_Python——查看目录下所有的目录和文件

    原博文 2019-05-06 19:31 − 写程序我们经常会遇到需要遍历某一个目录下的所有文件这个操作,然而python有现成的库,只需要2个循环就可以搞定. 1 import os 2 3 def ...

  4. Python 获取目录下的文件列表,并自然排序

    在实际的算法与程序开发中,经常需要面对的场景就是对同一目录内的文件进行批量操作.并且很多时候目录中的文件明明是有规律的,同时希望程序在进行处理时也是按照一定的顺序进行. 方法 1 >>&g ...

  5. python遍历目录下所有文件_Python递归遍历目录下所有文件

    #自定义函数: importos path="D:\\Temp_del\\a" defgci (path):"""this is a statemen ...

  6. 7.python 移动目录下的文件至另一个目录下

    # srcfile 需要复制.移动的文件 # dstpath 目的地址import os import shutil from glob import globdef mymovefile(srcfi ...

  7. python对目录下的文件排序问题

    1.按照时间来排序 def get_file_list(file_path):dir_list = os.listdir(file_path)if not dir_list:returnelse:# ...

  8. python批量重命名指定目录下所有文件的后缀名

    python批量重命名指定目录下所有文件的后缀名 有个需求,需要把某个文件夹下所有后缀名为.abc的更改为.xyz; #批量重命名指定目录下面所有文件的后缀名. word_dir为需要更改后缀的文件夹 ...

  9. python批量复制文件问题,python 批量复制不同目录下的文件

    python 批量复制不同目录下的文件 #!/usr/bin/env python #coding=UTF-8 #author aping import os,sys,shutil,time impo ...

  10. python获取文件夹下文件_Python 获取目录下的文件列表与内容

    下面的python例子是列举用户目录下面的文件 import os import sys #info=os.getcwd() #listfile=os.listdir(os.getcwd()) inf ...

最新文章

  1. COJ 0995 WZJ的数据结构(负五)区间操作
  2. InnoDB 存储引擎中的表锁和行锁详解
  3. Oracle_052_lesson_p10
  4. 通过.obj生成2d图像_自动生成 凹凸法线灯贴图 插件
  5. oracle行转列和列转行,oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )...
  6. verilog中数组的定义_systemverilog中的数组操作
  7. CSS基础(part12)--盒子模型之外边距
  8. How is SAP UI5 Aggregation designed
  9. P1255 数楼梯 方法二(python3实现)
  10. Cognos 增加全局类
  11. Kafka从上手到实践 - 实践真知:Kafka Java Producer | 凌云时刻
  12. springboot优雅的加载海康sdk
  13. 微信小程序——轮播图
  14. Linux之进程管理——查看进程
  15. tomcat问题——判断tomcat是否安装成功
  16. 传奇单机架设教程 小白也能开传奇
  17. 动态活体检测 | 算法分析
  18. java将图片url转换成数据流输出到前端
  19. 【操作系统】文件管理(三)—— 文件的目录结构
  20. 自制Chrome绿色版

热门文章

  1. 【NOIP模拟】寻找
  2. java 如何打印自己快捷键_怎么快捷键取消正在执行的打印操作?
  3. 访问不了共享文件夹提示“网络错误“的解决方法
  4. 江苏省计算机一级考试难度,浅谈江苏省计算机等级考试(一级除外)
  5. 淘宝转化率突然下降怎么办?原来是这些原因
  6. java算法训练 调和数列问题
  7. 计算标准累积正态分布_神说要有正态分布,于是就有了正态分布。
  8. php网站源码木马查杀检测工具
  9. 函数论_E.C.Tichmarsh_Page 4 级数一致收敛的魏尔斯特拉斯 M-判别法 的推广
  10. python如何绘制曲线图_Python matplotlib 如何绘制双Y轴曲线图?