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牛刀小试密码爆破
Feb 03 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
Python中的变量和作用域详解
Jul 13 Python
python发送邮件脚本
May 22 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
Python 求数组局部最大值的实例
Nov 26 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
python某漫画app逆向
Mar 31 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数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
几个php应用技巧
2008/03/27 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
使用python实现knn算法
2017/12/20 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
初中军训感想300字
2014/03/05 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
2014年妇女工作总结
2014/12/06 职场文书
违纪学生保证书
2015/02/27 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
小学主题班会教案
2015/08/17 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python