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判断变量是否已经定义的方法
Aug 18 Python
Python进程通信之匿名管道实例讲解
Apr 11 Python
详解Python中的strftime()方法的使用
May 22 Python
利用python代码写的12306订票代码
Dec 20 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
Python管理Windows服务小脚本
Mar 12 Python
python使用装饰器作日志处理的方法
Jul 11 Python
Python-接口开发入门解析
Aug 01 Python
python tkinter组件摆放方式详解
Sep 16 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
Python实现数据的序列化操作详解
Jul 07 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
2006/12/13 PHP
php 中文处理函数集合
2008/08/27 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python字符编码判断方法分析
2016/07/01 Python
python对json的相关操作实例详解
2017/01/04 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
python递归函数用法详解
2020/10/26 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
高中班主任心得体会
2016/01/07 职场文书
初二数学教学反思
2016/02/17 职场文书
Oracle笔记
2021/04/05 Oracle
MySQL表字段时间设置默认值
2021/05/13 MySQL
css3新特性的应用示例分析
2022/03/16 HTML / CSS
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server