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线程中对join方法的运用的教程
Apr 09 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
python实现自动化上线脚本的示例
Jul 01 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
Jun 01 Python
Django中Q查询及Q()对象 F查询及F()对象用法
Jul 09 Python
如何一键升级Python所有包
Nov 05 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
python之django路由和视图案例教程
Jul 26 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
我的论坛源代码(五)
2006/10/09 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
详解Python中where()函数的用法
2018/03/27 Python
python实现Zabbix-API监控
2018/09/17 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
写给妈妈的感谢信
2015/01/22 职场文书
大学生个人学习总结
2015/02/15 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android