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计数排序和基数排序算法实例
Apr 25 Python
python进阶教程之循环对象
Aug 30 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
Python测试人员需要掌握的知识
Feb 08 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
Python调用服务接口的实例
Jan 03 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
wxPython实现文本框基础组件
Nov 18 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
Python装饰器的练习题
Nov 23 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
纯php生成随机密码
2015/10/30 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
javascript的事件描述
2006/09/08 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
javascript关于继承解析
2016/05/10 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
详解Python中的from..import绝对导入语句
2016/06/21 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python剪切视频与合并视频的实现
2020/03/03 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
自荐信封面
2013/12/04 职场文书
化学教师自荐信范文
2013/12/28 职场文书
个人求职信范文分享
2014/01/06 职场文书
建筑工地质量标语
2014/06/12 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
解析Java中的static关键字
2021/06/14 Java/Android