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根据距离和时长计算配速示例
Feb 16 Python
python实现进程间通信简单实例
Jul 23 Python
简单介绍Python中的struct模块
Apr 28 Python
Python实现备份MySQL数据库的方法示例
Jan 11 Python
python实现图片彩色转化为素描
Jan 15 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
python循环嵌套的多种使用方法解析
Nov 29 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
python 带时区的日期格式化操作
Oct 23 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中在PDO中使用事务(Transaction)
2011/05/14 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
理解python多线程(python多线程简明教程)
2014/06/09 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
python开发前景如何
2020/06/11 Python
python对一个数向上取整的实例方法
2020/06/18 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
毕业寄语大全
2014/04/09 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
详解Go语言中Get/Post请求测试
2022/06/01 Golang