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自动监控网站并发送邮件告警的方法
Aug 24 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
Python数据可视化正态分布简单分析及实现代码
Dec 04 Python
python中强大的format函数实例详解
Dec 05 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 Python
Python3安装pip工具的详细步骤
Oct 14 Python
如何在mac下配置python虚拟环境
Jul 06 Python
python实战之90行代码写个猜数字游戏
Apr 22 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 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实现MySQL更新记录的代码
2008/06/07 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
Python3访问并下载网页内容的方法
2015/07/28 Python
Python学习小技巧总结
2018/06/10 Python
pyqt5实现登录界面的模板
2020/05/30 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
2014年高三毕业生自我评价
2014/01/11 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
教师节老师寄语
2015/05/28 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书