python

超轻量级php框架startmvc

Python遍历目录并批量更换文件名和目录名的方法

更新时间:2020-04-24 07:25:01 作者:startmvc
本文实例讲述了Python遍历目录并批量更换文件名和目录名的方法。分享给大家供大家参考,

本文实例讲述了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 遍历 目录 批量更换 文件名 目录名