本文实例讲述了Python遍历目录并批量更换文件名和目录名的方法。分享给大家供大家参考,具体如下:
#encoding=utf-8#author: walker#date: 2014-03-07#summary: 深度遍历指定目录,并将子目录和文件名改为小写#注意,此程序只针对windows,windows下文件(夹)名不区分大小写import osimport os.pathimport 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程序设计有所帮助。
新闻热点
疑难解答