Python3---实战项目---在特定目录下遍历所有文件夹,对现有的文件夹名称增加名称成为新的文件夹、删除特定名称的文件夹

Python3—实战项目—在特定目录下遍历所有文件夹,对现有的文件夹名称增加名称成为新的文件夹、删除特定名称的文件夹

项目背景:

1、在该目录下/data/soft/jenkins/workspace/遍历所有的文件夹,并存到一个列表A中。
提取处有TB字段所有列表元素到新的列表B,列表B元素(如:/data/soft/jenkins/workspace/TB_dust)。
对目前的列表B中所有元素加-class后缀,即新的文件夹为/data/soft/jenkins/workspace/TB_dust-class。
在列表B中有411个文件夹,进行批量新建带有字符-class新的文件夹。

2、对有特定字符(特殊字符如:-class-class)的文件夹进行批量删除


Python代码如下:


"""
Created on Mon Apr 29 13:15:59 2019

@author: fern.xu
"""
import os

def main():
    allname = []#存储该path路径下所有的文件夹
    tbname = []#存储该path路径下所有带TB字符的文件夹
    delclass = []#存储带有字符-class-class,需要删除的元素
    path = "/data/soft/jenkins/workspace/"#根目录
    path = path.strip()
    path = path.rstrip("/")
    for fd in os.listdir(path):#遍历path下所有文件夹与文件名
        if os.path.isdir(path+"/"+fd):#遍历path下所有的文件夹
            allname.append(os.path.join(path,fd))#与path组装文件夹的绝对路径加入列表
    #print(allname)

    for n in allname:#遍历path路径下所有文件夹
        if n[29:31] == "TB":#查找带TB字符的文件夹
            tbname.append(n)#存储该path路径下所有带TB字符的文件夹
    print(tbname)

    for de in tbname:
        if de[-12:] == "-class-class":#取出最后12个字符
            delclass.append(de)
            print(delclass)
    for d in delclass:
        print("正在删除......")
        print(d)
        os.system("rm -rf "+d)#删除特定字符的文件夹

'''
    for url in tbname:
        urlclass = url+"-class"#对带TB字符的文件夹,全部新建一个带-class的文件夹
        isExists = os.path.exists(urlclass)
        if not isExists:
            os.makedirs(urlclass)
            print (url + "创建成功")
        else:
            print (url + "创建失败")
'''


if __name__ =='__main__':
    main()


执行结果:

['/data/soft/jenkins/workspace/TB_boss-class-class', '/data/soft/jenkins/workspace/TB_credit-management-class-class', '/data/soft/jenkins/workspace/TB_csp-tb-class-class', '/data/soft/jenkins/workspace/TB_dust-class-class', '/data/soft/jenkins/workspace/TB_agreement-tb-class-class', '/data/soft/jenkins/workspace/TB_dust-sub-class-class']
正在删除......
/data/soft/jenkins/workspace/TB_boss-class-class
正在删除......
/data/soft/jenkins/workspace/TB_credit-management-class-class
正在删除......
/data/soft/jenkins/workspace/TB_csp-tb-class-class
正在删除......
/data/soft/jenkins/workspace/TB_dust-class-class
正在删除......
/data/soft/jenkins/workspace/TB_agreement-tb-class-class
正在删除......
/data/soft/jenkins/workspace/TB_dust-sub-class-class
[root@HN1C-03-00-25101 workspace]# 

参考:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196352269f28f1f00aee485ea27e3c4e47f12bc7000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐为波

看着给就好了,学习写作有点累!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值