有多个文件夹,文件夹内有1,2,3文件。 如果文件夹内有1文件就删除2,3文件。 如何实现批量处理

有多个文件夹,文件夹内有1,2,3文件。 如果文件夹内有1文件就删除2,3文件。 如何实现批量处理
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import os

alldirs = ['d1','d2','d3']

for item in alldirs:
    files = os.listdir(item)
    if '1.txt' in files:
        os.remove("{}/{}".format(item,'2.txt'))
        os.remove("{}/{}".format(item,'3.txt'))

 

  1. 文件夹,里面有1.txt,2.txt.3.txt

     
  2. 使用语言java
  3. 使用工具的maven依赖
            <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.2.4</version>
            </dependency>

     

  4. 测试代码
     public static void main(String[] args) {
            lsFile(FileUtil.ls("D:\\多个文件夹"), "1.txt");
        }
    
        /**
         * 根据提供的文件名删除多余的文件
         *
         * @param files           多个文件夹
         * @param containFileName 需要保留的名字
         */
        public static void lsFile(File[] files, String containFileName) {
            for (File file : files) {
                if (file.isDirectory()) {
                    File[] listFiles = file.listFiles();
                    if (listFiles != null && listFiles.length > 0) {
                        lsFile(listFiles, containFileName);
                    }
                } else {
                    if (!file.getName().equals(containFileName)) {
                        FileUtil.del(file);
                    }
                }
            }
        }