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)
上一篇 2021年5月18日 上午10:00
下一篇 2021年5月18日 上午11:00


相关推荐

  • vue + springboot_SpringBootTest

    vue + springboot_SpringBootTestVue+SpringBoot介绍前言介绍  博主简单的学习完SpringBoot的技术之后,发现好像thymeleaf+SpringBoot的开发方式现在使用的并不多,现在大部分在使用的是前后端分离的开发方式,其中的一种是Vue+SpringBoot的开发方式,所以特地去BiliBili网站上去找了相关的视频,但是相关的视频也不是很多,找了一个4个小时的视频,简单的了解和运用。BiliBil…

    2026年2月15日
    5
  • 达芬奇五年沉浮

    达芬奇五年沉浮达芬奇五年沉浮

    2022年5月18日
    63
  • stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解

    stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解展开全部我是一名单片机工程师,下面51单片机最小系统的讲解,你参考一下51单片机共有40只引脚.下面这个就是636f70793231313335323631343130323136353331333365653861最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.我们来一,一讲解一下:1第一部分:电源组(标记为1的部分)40脚接电源5V(右上角),20脚接电源负极(左下角),在单片…

    2022年8月30日
    8
  • HTML学习14:框架布局

    HTML学习14:框架布局文章目录 1 框架页面的基本结构 2 水平布局 3 垂直布局 4 混合框架集 5 为框架添加内容 6 改进 使用 name 属性 7 给框架布局设置一些属性相对 div 布局 框架布局是一个很古老 但是易于学习和掌握的布局技术 当一个网站中包含很多页面 每个页面又包含一些同样的区域的时候 我们可以选择框架布局 在现代前端开发中 框架布局已经被淘汰 取而代之的是 DIV 结合 Ajax 页面无刷新的加载技术 因此 这里只对框架布局做简单的介绍 1 框架页面的基本结构 HTML5 不支持标签 2 水平布局 3 垂直布局 4

    2026年3月18日
    3
  • 大数据框架综述

    大数据框架综述一 什么是大数据大数据 IT 行业术语 是指无法在一定时间范围内用常规软件工具进行捕捉 管理和处理的数据集合 由数据组成的集合 是需要新处理模式才能具有更强的决策力 洞察发现力和流程优化能力的海量 高增长率和多样化的信息资产 它具有以下特征 1 海量的数据规模 随着信息技术的高速发展 数据开始爆发性增长 存储单位从过去的 GB 到 TB 乃至现在的 PB EB 级别 2 快速的数据流转 大数据的产生

    2026年3月17日
    2
  • MFC动态创建Picture Control

    MFC动态创建Picture Control1 首先定义一个静态的 CStatic 的指针 CStatic pPictureCont NULL pPictureCont gt Create T WS CHILD WS VISIBLE SS BITMAP CRect 20 10 80 40 this 12345 看以通过 UID 使用我的显示图片函数进行显示 2 动态控件的响应

    2026年3月26日
    3

发表回复

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

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