zoukankan      html  css  js  c++  java
  • python把指定目录下的递归所有目录和文件名转换成小写或大写

    cat convert.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import os, sys
    
    
    def convert(rootdir, optype='l'):
        """
        目录/文件名转换成小写或大写
        :param rootdir: 要转换的根目录路径
        :param optype: 操作类型(小写/大写)  小写:optype = 'l'  大写:optype = 'u',默认转换成小写
        :return:
        """
        dirlist = os.listdir(rootdir)
        for index, onedir in enumerate(dirlist):
            if optype == 'l':
                cdir = onedir.lower()
            elif optype == 'u':
                cdir = onedir.upper()
            subdir = os.path.join(rootdir, onedir)
    
            if onedir != cdir:      # 子目录或文件名不全为小写或大写
                subcdir = os.path.join(rootdir, cdir)
                os.rename(subdir, subcdir)          # 把大写的目录或文件名命名成小写或大写
                dirlist[index] = cdir
                subdir = subcdir
    
            # print(subdir)
            if os.path.isdir(subdir):
                convert(subdir, optype)
    
    def help():
        print("use: python convert.py 'rootDirPath' {optype:'l'/'u'}")
    
    def main():
        if len(sys.argv) == 2:
            convert(sys.argv[1])
        elif len(sys.argv) == 3:
            convert(sys.argv[1], sys.argv[2])
        else:
            help()
            exit(400)
    
    
    if __name__ == '__main__':
        main()

    如把 /site 目录下所有目录及文件名转换成小写

    python conver.py "/site" "l"

  • 相关阅读:
    专题——递归
    今日听郝斌老师鸡汤
    线性结构的两种常见应用之一 队列
    线性结构的两种应用之一——栈
    C++常用库函数
    洛谷 标志重捕法?
    c++复习——临考前的女娲补天 >=.<
    c++复习——类(2)
    c++复习——类(1)
    Python单元测试
  • 原文地址:https://www.cnblogs.com/linkenpark/p/8321342.html
Copyright © 2011-2022 走看看