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备份文件以及mysql数据库的脚本代码
Jun 10 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
python读写csv文件的方法
Aug 13 Python
python求绝对值的三种方法小结
Dec 04 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
python中pop()函数的语法与实例
Dec 01 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
PHP5 安装方法
2007/01/15 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
python中什么是面向对象
2020/06/11 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
Nike香港官网:Nike HK
2019/03/23 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
后勤园长自我鉴定
2013/10/17 职场文书
音乐教育感言
2014/03/05 职场文书
勾股定理课后反思
2014/04/26 职场文书
产品生产计划书
2014/05/07 职场文书
语文教育专业求职信
2014/06/28 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
关于召开会议的通知
2015/04/15 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
使用Redis实现分布式锁的方法
2022/06/16 Redis