首页 > 编程语言 > 详细

Python遍历目录更换文件名和目录名

时间:2014-03-07 23:53:36      阅读:855      评论:0      收藏:0      [点我收藏+]
#encoding=utf-8
#author: walker
#date: 2014-03-07
#function: 深度遍历指定目录,并将子目录和文件名改为小写
import os
import os.path
import shutil
#读入指定目录并转换为绝对路径
rootdir = raw_input(‘root dir:\n‘)
rootdir = os.path.abspath(rootdir)
print(‘absolute 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())
        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())
        print(pathdir + ‘ --> ‘ + pathdirLower)
        if pathdir == pathdirLower: #如果文件夹名本身就是全小写
            continue
        if not os.path.exists(pathdirLower):    #如果不存在小写同名文件夹
            os.rename(pathdir, pathdirLower)
        else:   #如果存在小写同名文件夹,针对linux
            cmd = ‘cp -Rf ‘ + pathdir +  ‘/* ‘ + pathdirLower
            print cmd
            os.system(cmd)
            shutil.rmtree(pathdir)


*** walker ***


本文出自 “walker的流水账” 博客,请务必保留此出处http://walkerqt.blog.51cto.com/1310630/1369880

Python遍历目录更换文件名和目录名,布布扣,bubuko.com

Python遍历目录更换文件名和目录名

原文:http://walkerqt.blog.51cto.com/1310630/1369880

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!