学习笔记33-遍历指定文件夹中所有文件,按num批量分成多个子文件夹(附运行代码)

这篇学习笔记介绍了如何使用Python遍历指定文件夹,将所有文件依据预设数量(num)批量分到不同的子文件夹中,提供了详细的运行代码。
摘要由CSDN通过智能技术生成

遍历指定文件夹中所有文件,按num批量分成多个子文件夹。

import os
import shutil

file_path = '.\\dataset\\train\\Non-underburning\\'
new_file_path = '.\\Burn\\jpg_video_directory\\Non-underburning\\'

num = 100
list_ = os.listdir(file_path)
if num > len(list_):
    print('num<:', len(list_))
    exit()
if int(len(list_) % num) == 0:
    num_file = int(len(list_) / num)
else:
    num_file = int(len(list_) / num) + 1
cnt = 0
for n in range(1, num_file + 1):
    new_file = os.path.join(new_file_path + str(n))
    if os.path.exists(new_file + str(cnt)):
        print('error', new_file)
        exit()
    print('new:', new_file)
    os.mkdir(new_file)
    list_n = list_[num * cnt:num * (cnt + 1)]
    for m in list_n:
        old_path = os.path.join(file_path, m)
        new_path = os.path.join(new_file, m)
        shutil.copy(old_path, new_path)
    cnt += 1
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用Python的os和shutil模块来实现这个任务。下面是一个示例代码: ```python import os import shutil def get_files_with_specific_name(directory, file_name, output_directory): # 获取目录下的所有文件夹 subdirectories = [name for name in os.listdir(directory) if os.path.isdir(os.path.join(directory, name))] for subdirectory in subdirectories: # 构建当前文件夹的完整路径 subdirectory_path = os.path.join(directory, subdirectory) # 获取当前文件夹下的所有文件 files = [name for name in os.listdir(subdirectory_path) if os.path.isfile(os.path.join(subdirectory_path, name))] # 寻找指定文件名的文件并复制到输出目录 for file in files: if file == file_name: output_subdirectory = os.path.join(output_directory, subdirectory) os.makedirs(output_subdirectory, exist_ok=True) # 创建输出文件夹 source_file = os.path.join(subdirectory_path, file) destination_file = os.path.join(output_subdirectory, file) shutil.copy(source_file, destination_file) print(f"已复制文件: {file} 到目录: {output_subdirectory}") # 指定目录和输出目录 directory = 'path/to/directory' output_directory = 'path/to/output_directory' file_name = 'example.txt' # 指定文件名 # 调用函数获取指定文件名的文件并保存到指定文件夹 get_files_with_specific_name(directory, file_name, output_directory) ``` 在上面的示例代码,你需要将`directory`替换为你想要搜索的目录路径,将`output_directory`替换为你想要保存指定文件文件的目录路径,将`file_name`替换为你想要获取的特定文件名。代码遍历指定目录下的所有文件夹,并将符合指定文件名的文件复制到指定的输出目录文件夹。 请确保在运行代码之前已经安装了必要的模块(os、shutil),并将目录路径和文件名替换为你自己的实际路径和文件名。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值