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练习程序批量修改文件名
Jan 16 Python
浅析Python中的多重继承
Apr 28 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
python常用函数与用法示例
Jul 02 Python
pygame实现贪吃蛇游戏(下)
Oct 29 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 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 session 检测和注销
2009/03/16 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
浅谈mysql_query()函数的返回值问题
2016/09/05 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
JavaScript高级程序设计
2006/12/29 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
物流管理应届生求职信
2013/11/07 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
学校实习推荐信
2015/03/27 职场文书
施工安全保证书
2015/05/09 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL