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


相关推荐

  • camunda「建议收藏」

    camunda「建议收藏」CamundaBPM用途:流程管理、流程解决方案支持语言:java,nodejs入门指导:1.https://docs.camunda.org/get-started/quick-sta

    2022年8月1日
    0
  • python安装uwsgi_微服务怎么部署到服务器的

    python安装uwsgi_微服务怎么部署到服务器的什么是uWSGIuWSGI旨在为部署分布式集群的网络应用开发一套完整的解决方案。主要面向web及其标准服务。由于其可扩展性,能够被无限制的扩展用来支持更多平台和语言。uWSGI是一个web服务器,实现了WSGI协议,uwsgi协议,http协议等。uWSGI的主要特点是:超快的性能低内存占用多app管理详尽的日志功能高度可定制uWSGI服务器自己实现了基于uwsgi协议的ser…

    2022年9月4日
    2
  • CISCO mds FC光纤交换机配置参考资料

    CISCO mds FC光纤交换机配置参考资料(一)有几个概念必须明确一下(与brocade不同的地方):(1)brocade直接划分zone.而mds要在vsan下划分zone,mds可以先划分几个vsan,每个vsan包括几个zone.(2)brocase默认的端口是打开的,而mds默认的端口是关闭的(3)mds有一个默认的zone:”TheDefaultZo…

    2022年5月11日
    51
  • 【用户画像】从0到1掌握用户画像知识体系

    【用户画像】从0到1掌握用户画像知识体系一、初始用户画像1.1用户画像随着用户的一切行为数据可以被企业追踪到,企业的关注点日益聚焦在如何利用大数据为经营分析和精准营销服务,而要做精细化运营,首先要建立本企业的用户画像。提到用户画像的概念,我们区分下用户角色(Persona)和用户画像(Profile):1.1.1用户角色用户角色本质是一个用以沟通的工具,当我们讨论产品、需求、场景、用户体验的时候,为了避免在目标用户理解上的分歧,用户角色应运而生。用户角色建立在对真实用户深刻理解,及高精准相关数据的概括之上,虚构的包含典型用

    2022年5月25日
    97
  • Zabbix的SNMPTrap监控配置[通俗易懂]

    Zabbix的SNMPTrap监控配置[通俗易懂]SNMPTrap监控主要用于设备发生故障时的主动通知的监控。以下简单记录下Zabbix的SNMPTrap的配置方法。

    2022年8月20日
    10
  • mmse评估量表_简易精神状态评价量表(mmse量表) 打印版.doc[通俗易懂]

    简易精神状态评价量表(mmse量表)15016简易精神状态评价量表(MMSE)项目积分定向力(10分)1.今年是哪一年现在是什么季节?现在是几月份?今天是几号?今天是星期几?11111000002.你住在那个省?你住在那个县(区)?你住在那个乡(街道)?咱们现在在那个医院?咱们现在在第几层楼?1111100000记忆力(3分)3.告诉你三种东西,我说完后,请你重复一遍并记住,待会还会问你(各1分,…

    2022年4月18日
    49

发表回复

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

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