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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SiamFC 学习(论文、总结与分析)

    SiamFC 学习(论文、总结与分析)文章目录前言一、SiamFC论文学习1.介绍2.深度相似学习在跟踪中的应用2.1全卷积孪生结构3.引入库二、使用步骤1.引入库2.读入数据总结前言之前看了关于siamFC的论文、博客和代码,已经跑通了代码,但是,只是大概初步学习,没有认真的研究细节。为了后面更好的学习Siam系列的算法还是要重新认真的学习SiamFC。先附上论文和代码。论文:Fully-ConvolutionalSiameseNetworksforObjectTracking代码:基于pytorch框架的htt

    2022年10月1日
    4
  • dell服务器显示器fre,戴尔发布Gaming 24/27游戏显示器新品 支持144/155Hz FreeSync

    dell服务器显示器fre,戴尔发布Gaming 24/27游戏显示器新品 支持144/155Hz FreeSync访问购买页面:具体说来,24英寸机型覆有防眩光涂层(硬度3H),长宽比为16:9、支持1670万色,水平/垂直可视角度为160/170°。此外还有LEDedgelight、ComfortView、戴尔显示管理器、且兼容VESA壁挂安装。接口方面,该机型提供了2×HDMI1.4、DisplayPort、一个USB3.0上联+两个USB3.0下联、耳机…

    2022年5月8日
    41
  • 一文搞懂什么是粒子群优化算法(Particle Swarm Optimization,PSO)【附应用举例】「建议收藏」

    一文搞懂什么是粒子群优化算法(Particle Swarm Optimization,PSO)【附应用举例】「建议收藏」粒子群优化算法1.1粒子群优化算法简介粒子群优化算法(ParticleSwarmOptimization,PSO)是进化计算的一个分支,是一种模拟自然界的生物活动的随机搜索算法。PSO模拟了自然界鸟群捕食和鱼群捕食的过程。通过群体中的协作寻找到问题的全局最优解。它是1995年由美国学者Eberhart和Kennedy提出的,现在已经广泛应用于各种工程领域的优化问题之中。1.1.1思想来源从动物界中的鸟群、兽群和鱼群等的迁移等群体活动而来。在群体活动中,群体中的每一个个体都会受益于所有成员在

    2022年10月11日
    3
  • vue生成二维码并保存图片_vue实现扫描二维码

    vue生成二维码并保存图片_vue实现扫描二维码一、生成简单的二维码(不带图片)1.引入插件npminstallqrcode–save2.页面中使用<divid=”qrcode”class=”erweima”></div>页面中引入importQRCodefrom”qrcodejs2″;methods:{qrcode(){this.$nextTick(()=>{letqrcode=newQRCode(“qrcode”,{

    2022年10月3日
    4
  • android之来电自动拒接并自动回复短信_上课模式app「建议收藏」

    上课的时候老师说总是错过电话,对方打来没人接还一遍遍的打,觉得可以有个app在上课期间自动拒接电话,并自动回复短信过去.当然了,需要权限的.尝试做了个雏形出来.界面如下:主要代码如下:package jason.teacher;import java.lang.reflect.Method;import java.util.HashMap;import ja

    2022年3月10日
    148
  • Mac idea2021激活码_通用破解码

    Mac idea2021激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    95

发表回复

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

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