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简单验证码识别的实现方法
May 10 Python
python实现统计文本中单词出现的频率详解
May 20 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
Python字典底层实现原理详解
Dec 18 Python
python对接ihuyi实现短信验证码发送
May 10 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
python 装饰器的实际作用有哪些
Sep 07 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
Python OpenCV快速入门教程
Apr 17 Python
python区块链实现简版工作量证明
May 25 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中的多态性[译]
2011/08/02 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
jquery插件之easing使用
2010/08/19 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
javascript学习之json入门
2016/12/22 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
webpack之devtool详解
2018/02/10 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
网上快餐厅创业计划书
2014/02/01 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
公司新年寄语
2014/04/04 职场文书
最美护士演讲稿
2014/08/27 职场文书
食品药品安全责任书
2015/05/11 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers