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中处理时间之clock()方法的使用
May 22 Python
Python Socket使用实例
Dec 18 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
Python中的Numpy矩阵操作
Aug 12 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 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
初探PHP5
2006/10/09 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
Python中的装饰器用法详解
2015/01/14 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
python使用mysql的两种使用方式
2018/03/07 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
python创建文本文件的简单方法
2020/08/30 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
教师党员个人自我剖析材料
2014/09/29 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Python使用永中文档转换服务
2022/05/06 Python