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 相关文章推荐
Python3.x和Python2.x的区别介绍
Feb 12 Python
python进阶教程之异常处理
Aug 30 Python
在Python中操作列表之list.extend()方法的使用
May 20 Python
使用Python简单的实现树莓派的WEB控制
Feb 18 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
Python实现简单层次聚类算法以及可视化
Mar 18 Python
python列表,字典,元组简单用法示例
Jul 11 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python argparse模块应用实例解析
Nov 15 Python
Pycharm小白级简单使用教程
Jan 08 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
php 基础函数
2017/02/10 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
Javascript中this的用法详解
2014/09/22 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
js实现带搜索功能的下拉框
2020/01/11 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python文件与文件夹常见基本操作总结
2016/09/19 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
开展读书活动总结
2014/06/30 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python