各种文件处理

1、复制存在于source_dir但不存在于target_dir的文件:

import os
import shutil

source_dir = "./all"
target_dir = "./bad"
destination_dir = "./good"

source_files = os.listdir(source_dir)
target_files = os.listdir(target_dir)

files_to_copy = [file for file in source_files if file not in target_files]

for file_name in files_to_copy:
    source_file_path = os.path.join(source_dir, file_name)
    destination_file_path = os.path.join(destination_dir, file_name)
    shutil.copyfile(source_file_path, destination_file_path)

2、查找相同文件名的数量:

import os

dir1 = "./all"
dir2 = "./bad"

files1 = os.listdir(dir1)
files2 = os.listdir(dir2)

common_files = set(files1) & set(files2)

print(f"共有 {len(common_files)} 个文件名相同。")

3、复制csv中的指定文件:

import os
import shutil

def read_csv(file_path):
    check_numbers = []
    with open(file_path, 'r') as f:
        for line in f:
            check_numbers.append(line.strip())
    return check_numbers

def copy_mp4_files(src_folder, dst_folder, check_numbers):
    if not os.path.exists(dst_folder):
        os.makedirs(dst_folder)

    for root, dirs, files in os.walk(src_folder):
        for file in files:
            if file.endswith('.mp4'):
                for check_number in check_numbers:
                    if file.startswith(check_number):
                        dst_file = os.path.join(dst_folder, file)
                        if not os.path.exists(dst_file):
                            shutil.copy(os.path.join(root, file), dst_file)
                        break

csv_file = './1.csv'
src_folder = './video'
dst_folder = './demo'

check_numbers = read_csv(csv_file)
copy_mp4_files(src_folder, dst_folder, check_numbers)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值