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编程中用close()方法关闭文件的教程
May 24 Python
Django返回json数据用法示例
Sep 18 Python
机器学习python实战之决策树
Nov 01 Python
python实现简单flappy bird
Dec 24 Python
python实现串口自动触发工作的示例
Jul 02 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
简述python&pytorch 随机种子的实现
Oct 07 Python
解决python存数据库速度太慢的问题
Apr 23 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 Python
Python标准库之typing的用法(类型标注)
Jun 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 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python list元素为tuple时的排序方法
2018/04/18 Python
python中count函数简单用法
2020/01/05 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
医学院四年学习生活的自我评价
2013/11/06 职场文书
寄语学生的话
2014/04/10 职场文书
超市店庆活动方案
2014/08/31 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
SQL中的三种去重方法小结
2021/11/01 SQL Server
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL