Python批处理删除和重命名文件夹的实例


Posted in Python onJuly 11, 2018

1. 删除当前目录下不含有指定文件类型的文件夹

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import os
import shutil

pwd = os.getcwd()
L = os.listdir(".")
f = open("out.txt", "w")
for dirname in L:
 if os.path.isdir(dirname):
  print("dir name:" + dirname)
  os.chdir(dirname)
  files = os.listdir(".")
  filePreName = "filename"
  extName = "ext name"
  delete = True
  for filename in files:
   print filename
   print >> f, "%s" % filename
   filePreName, extName = os.path.splitext(filename)
   if extName.lower() == ".zip" or extName.lower() == ".jpg" or extName.lower() == ".doc" or extName.lower() == ".pdf" or extName.lower() == ".xls" or extName.lower() == ".gif" or extName.lower() == ".ppt" or extName.lower() == ".iso" or extName.lower() == ".mp3" or extName.lower() == ".wav" or extName.lower() == ".rar" or extName.lower() == ".mkv" or extName.lower() == ".mp4" or extName.lower() == ".bmp" or extName.lower() == ".exe" or extName.lower() == ".docx" or extName.lower() == ".png" or extName.lower() == ".txt":
    delete = False
  os.chdir("..")
  if delete:
   shutil.rmtree(dirname)
   print dirname + " deleted!!!"
   print >> f, "%s" % dirname + " deleted!!!"
  print "--------------------------"
  print >> f, "%s" % "--------------------------"
f.close()1

2. 遍历目录下每个子文件夹,并列出子文件夹下的文件,默认删除含指定类型的文件夹,不包含指定文件类型的,则提示,是否删除或者重命名文件夹

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import os
import shutil

pwd = os.getcwd()
L = os.listdir(".")
f = open("out.txt", "w")
for dirname in L:
 if os.path.isdir(dirname):
  print("dir name:" + dirname)
  os.chdir(dirname)
  files = os.listdir(".")
  i = 0
  filePreName = "filename"
  extName = "ext name"
  for filename in files:
   print filename
   print >> f, "%s" % filename
   filePreName, extName = os.path.splitext(filename)
   if extName == ".java" or extName == ".js" or extName == ".yml" or extName == ".ejs" or extName == ".svg" or extName == ".sample" or extName == ".styl" or extName == ".class" or extName == ".xml" or extName == ".html" or extName == ".so" or extName == ".OPA" or extName == ".pig" or extName == ".obj" or extName == ".sdb" or extName == ".dll":
    i += 1
  os.chdir("..")
  #整理杂乱的硬盘时,包含这些文件类型的无关文件夹直接删除
  if i >= 3 or filePreName == "HEAD" or filePreName == "master" or extName == "" or (filePreName == "index" and extName == ".html") or extName == ".java" or extName == ".pyc" or extName == ".py" or extName == ".html" or extName == ".HTM" or extName == ".ini" or extName == ".css" or extName == ".so" or extName == ".xml" or extName == ".bin":
    shutil.rmtree(dirname)
    print(dirname + " deleted!!!")
    print "--------------------------"
    continue
  deleteOrNot = raw_input("delete " + dirname + "?(y/n)")
  #除了无关文件夹,其余由“我”决定是删除还是直径重命名文件夹
  if deleteOrNot == 'y':
   shutil.rmtree(dirname)
   print dirname + " deleted!!!"
   print >> f, "%s" % dirname + " deleted!!!"   
  else:
   if deleteOrNot == "":
    print "no change" + dirname
   else:
    os.rename(dirname, deleteOrNot)
  print "--------------------------"
  print >> f, "%s" % "--------------------------"
f.close()

3. 使用子文件夹中第一个文件的文件名作为该子文件夹的名字

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import os
import shutil
import random

pwd = os.getcwd()
L = os.listdir(".")
f = open("rename.txt", "w")
for dirname in L:
 if os.path.isdir(dirname):
  os.chdir(dirname)
  files = os.listdir(".")
  filePreName = "filename"
  extName = "ext name"
  filename = files[0]
  filePreName, extName = os.path.splitext(filename)
  os.chdir("..")
  os.rename(dirname, filePreName + str(random.randint(1,999)))
  print dirname + "->" + filePreName + str(random.randint(1,999))
  print >> f, "%s" % dirname + "->" + filePreName + str(random.randint(1,999))
f.close()

以上这篇Python批处理删除和重命名文件夹的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
Python中__init__.py文件的作用详解
Sep 18 Python
python去除字符串中的换行符
Oct 11 Python
python读取文件名称生成list的方法
Apr 27 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
python字符串的index和find的区别详解
Jun 20 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 #Python
通过python顺序修改文件名字的方法
Jul 11 #Python
对python3 一组数值的归一化处理方法详解
Jul 11 #Python
浅谈利用numpy对矩阵进行归一化处理的方法
Jul 11 #Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 #Python
利用Python如何制作好玩的GIF动图详解
Jul 11 #Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 #Python
You might like
php 文件上传实例代码
2012/04/19 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
详解A标签中href=""的几种用法
2017/08/20 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
vuex存储token示例
2019/11/11 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python求斐波那契数列示例分享
2014/02/14 Python
Python中super()函数简介及用法分享
2016/07/11 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
在python中安装basemap的教程
2018/09/20 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
出国导师推荐信
2014/01/16 职场文书
体现团队精神的口号
2014/06/06 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android