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开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
Python的Django框架中settings文件的部署建议
May 30 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
详解flask入门模板引擎
Jul 18 Python
Django 实现购物车功能的示例代码
Oct 08 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
Python3内置模块random随机方法小结
Jul 13 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
python中print格式化输出的问题
Apr 16 Python
python中的random模块和相关函数详解
Apr 22 Python
Python 第三方库 openpyxl 的安装过程
Dec 24 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获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
js的2种继承方式详解
2014/03/04 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python网站验证码识别
2016/01/25 Python
Python与R语言的简要对比
2017/11/14 Python
Django中间件实现拦截器的方法
2018/06/01 Python
python实现淘宝购物系统
2019/10/25 Python
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
拓展培训心得体会
2014/01/04 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
毕业生就业协议书
2014/04/11 职场文书
经典演讲稿汇总
2014/05/19 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
初一年级组工作总结
2015/08/12 职场文书
手残删除python之后的补救方法
2021/06/26 Python
Java实现多文件上传功能
2021/06/30 Java/Android
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android