python-对大量文件夹名中含特定字符的批量修改

python-对大量文件夹名中含特定字符的批量修改

问题

需求:
一个文件夹下含有众多的子文件夹,其中一些子文件夹的名字含有特定字符,需要用其他字符替换

分析:
问题在于一旦修改了其中一个子文件夹,那么子文件夹的子文件夹路径也会发生改变,就会导致更多地可能,导致递归灾难
因此应该遍历所有的文件夹名,然后按照地址长度逆序排列,修改最长的文件夹名字,不干扰上一级的文件夹路径
而且有另一个规律,
C:/Users/Administrator/Desktop/111/Learn_Java01当前
C:/Users/Administrator/Desktop/111/Learn_Java02期望
只有目标路径的最后文件名与期望的不同,修改才有意义,相同不必多说,无用
如果最后文件夹名字相同,前面的需要修改,那自然等到前面进行到了再进行修改,而不是得陇望蜀

正向非常麻烦,而且需要给修改过的设置特征变量,逆向思维更加简单,但是需要额外的规律作为陪衬才能继续进行,但是逆向思维的方法是最好的

解决

对文件夹列表排序

mydir=sorted(mydir,key=lambda x: len(x),reverse=True)
for i in mydir:
    print(i)
    update_folder(i)

对文件夹进行重命名

def update_folder(folder_my):
    print("开始处理文件夹",folder_my)
    #有一个规律,只有最后一个期望得到不同路径才是正确的,可修改的,否则就是之前修改过的,因此应该是逆序倒着修改
    charc_list=[]
    temp_folder=folder_my
    judge_name=folder_my.split("/")[-1]
    base_path=folder_my[:-len(judge_name)]
    temp_name=judge_name
    check_word = ["111","222"]
    change_word = ["Learn_Java","Learn_Java01"]
    for i in range(0, len(check_word)):
        judge_name = judge_name.replace(check_word[i], change_word[i])
    if temp_name!=judge_name:#如果名字变化说明不同了,应该修改
        os.rename(temp_folder,base_path+judge_name)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100237.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • STM32F103C8T6最小系统

    STM32F103C8T6最小系统单片机最小系统一般有晶振电路、电源电路、复位电路以及调试电路组成。本文以STM32F103C8T6为例,介绍最小电路的设计和要注意的问题。

    2022年6月20日
    40
  • redis 密码_商用密码知识

    redis 密码_商用密码知识Redis可以设置密码,设置密码后如果不用密码登录,执行命令时会提示错误:下面列举一下Redis密码相关知识。1,在配置文件中设置密码在Redis的配置文件中,可以用requirepass参数配置密码,比如这样:requirepassthisispassword那么密码就是thisispassword。配置文件中设置的密码在启动Redis时就会生效。…

    2025年9月17日
    5
  • SPPnet

    SPPnet目录1.Motivation2.SPPnet2.1SPP层的原理2.2SPPnet的区域映射原理3.总结论文:SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition.来源:ECCV20141.MotivationR-CNN模型存在很多缺点和可改进的地方,其中的两个缺点如下:CNN网络后面接的FC层需要固定的输入大小,导致CNN也需要固定大小的输入,即要求候选区域在进入CNN前需要c

    2022年4月27日
    55
  • SVN版本库修改URL路径或者IP地址

    SVN版本库修改URL路径或者IP地址

    2021年9月21日
    76
  • Anaconda与Pycharm环境配置「建议收藏」

    Anaconda与Pycharm环境配置「建议收藏」一、环境配置1、首先看一下Anaconda简介,不需要操作。Anaconda介绍、安装及使用教程-知乎然后直接百度搜索Pycharm和Anaconda(可能要翻墙)进入官网下载,其中Pycharm下载专业版。简单介绍Anaconda的使用:安装完后进入AnacondaPrompt,会进入命令行界面下一步输入condainfo-e可以查看已经配置好的环境接下来正式进入配置环境的环节可以参考:9步教你安装完成tensorflow与pytorch..

    2022年8月27日
    8
  • java向文件中写入内容,字节流,字符流,缓冲,复制文件,设置字符编码 实例

    java向文件中写入内容,字节流,字符流,缓冲,复制文件,设置字符编码 实例

    2021年7月18日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号