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 相关文章推荐
Python中的闭包实例详解
Aug 29 Python
python图片验证码生成代码
Jul 02 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
Python开发的HTTP库requests详解
Aug 29 Python
对python的文件内注释 help注释方法
May 23 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
Python内置异常类型全面汇总
May 28 Python
浅谈Django前端后端值传递问题
Jul 15 Python
python dict如何定义
Sep 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之字符串变相相减的代码
2007/03/19 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python解决鸡兔同笼问题的方法
2014/12/20 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python去除字符串中的换行符
2017/10/11 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python实现整数的二进制循环移位
2019/03/08 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
通信工程专业女生个人求职信
2013/09/21 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
通信生自我鉴定
2014/01/18 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android