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并发获取snmp信息及性能测试
Mar 27 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
有关Python的22个编程技巧
Aug 29 Python
浅谈python requests 的put, post 请求参数的问题
Jan 02 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
如何使用Python 打印各种三角形
Jun 28 Python
如何获取Python简单for循环索引
Nov 21 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
Python中使用ipython的详细教程
Jun 22 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
php中实现简单的ACL 完结篇
2011/09/07 PHP
php如何连接sql server
2015/10/16 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python实现数独算法实例
2015/06/09 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
退休感言
2014/01/28 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
安全生产月标语
2014/10/07 职场文书
2014年节能工作总结
2014/12/18 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
电影圆明园观后感
2015/06/03 职场文书
销售口号霸气押韵
2015/12/24 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis