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统计文本文件内单词数量的方法
May 30 Python
python监控文件或目录变化
Jun 07 Python
Python 中开发pattern的string模板(template) 实例详解
Apr 01 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
Django学习笔记之ORM基础教程
Mar 27 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
python实现机器学习之多元线性回归
Sep 06 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 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中执行系统命令的方法
2015/03/21 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
基于jquery & json的省市区联动代码
2012/06/26 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
js实现计算器功能
2020/08/10 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python多进程实现文件下载传输功能
2018/07/28 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
农业大学毕业生的个人自我评价
2013/10/11 职场文书
初二生物教学反思
2014/02/03 职场文书
省文明单位申报材料
2014/05/08 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
致运动员的广播稿
2015/08/19 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
技术入股合作协议书
2016/03/21 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
解析MySQL binlog
2021/06/11 MySQL