Python遍历目录并批量更换文件名和目录名的方法


Posted in Python onSeptember 19, 2016

本文实例讲述了Python遍历目录并批量更换文件名和目录名的方法。分享给大家供大家参考,具体如下:

#encoding=utf-8
#author: walker
#date: 2014-03-07
#summary: 深度遍历指定目录,并将子目录和文件名改为小写
#注意,此程序只针对windows,windows下文件(夹)名不区分大小写
import os
import os.path
import shutil
#读入指定目录并转换为绝对路径
rootdir = raw_input('root dir:\n')
rootdir = os.path.abspath(rootdir)
print('absolute root path:\n*** ' + rootdir + ' ***')
#先修改文件名
for parent, dirnames, filenames in os.walk(rootdir):
  for filename in filenames:
    pathfile = os.path.join(parent, filename)
    pathfileLower = os.path.join(parent, filename.lower())
    if pathfile == pathfileLower:  #如果文件名本身就是全小写
      continue
    print(pathfile + ' --> ' + pathfileLower)
    os.rename(pathfile, pathfileLower)
#后修改目录名,这里注意topdown参数。
#topdown决定遍历的顺序,如果topdown为True,则先列举top下的目录,然后是目录的目录,依次类推;
#反之,则先递归列举出最深层的子目录,然后是其兄弟目录,然后父目录。
#我们需要先修改深层的子目录
for parent, dirnames, filenames in os.walk(rootdir, topdown=False):
  for dirname in dirnames:
    pathdir = os.path.join(parent, dirname)
    pathdirLower = os.path.join(parent, dirname.lower())
    if pathdir == pathdirLower: #如果文件夹名本身就是全小写
      continue
    print(pathdir + ' --> ' + pathdirLower)
    os.rename(pathdir, pathdirLower)

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
python多维数组切片方法
Apr 13 Python
python将回车作为输入内容的实例
Jun 23 Python
Selenium的使用详解
Oct 19 Python
Python异常处理知识点总结
Feb 18 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 #Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 #Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 #Python
Python操作Access数据库基本步骤分析
Sep 19 #Python
Python自定义主从分布式架构实例分析
Sep 19 #Python
Python实现网络端口转发和重定向的方法
Sep 19 #Python
Python中__init__.py文件的作用详解
Sep 18 #Python
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python中endswith()函数的基本使用
2015/04/07 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
python实现图片彩色转化为素描
2019/01/15 Python
Python提取频域特征知识点浅析
2019/03/04 Python
Python extract及contains方法代码实例
2020/09/11 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
什么是Smart Navigation?
2016/07/03 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
反四风对照检查材料
2014/09/22 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
黄山导游词
2015/01/31 职场文书
2016高考冲刺决心书
2015/09/23 职场文书