使用python脚本删除一个文件夹中和另一个文件夹中同名的文件

使用python脚本删除一个文件夹中和另一个文件夹中同名的文件


即使路径中包含中文,或者文件名中包含中文,也可使用下面的脚本。
下面的脚本只会删除第二个文件夹中与第一个文件夹同名的文件。

import os  
  
def delete_same_named_files(dir1, dir2):  
    # 获取第一个文件夹中的所有文件名  
    files_in_dir1 = set(os.listdir(dir1))  
  
    # 遍历第二个文件夹中的文件  
    for filename in os.listdir(dir2):  
        # 如果文件名在第一个文件夹中也存在  
        if filename in files_in_dir1:  
            # 构建第二个文件夹中文件的完整路径  
            file_path = os.path.join(dir2, filename)  
            # 删除文件  
            try:  
                os.remove(file_path)  
                print(f"Deleted: {file_path}")  
            except OSError as e:  
                print(f"Error: {e.strerror} : {file_path}")  
  
# 使用示例  
dir1 = "/path/to/first/directory"  
dir2 = "/path/to/second/directory"  
delete_same_named_files(dir1, dir2)

下面的脚本来从一个文件夹中随机选取210个文件,并将这些文件移动到另一个文件夹中,你可以使用os、shutil和random模块。以下是一个示例脚本
请确保将/path/to/source/directory和/path/to/target/directory替换为你实际的文件夹路径。

import os  
import shutil  
import random  
  
def select_and_move_random_files(source_dir, target_dir, count):  
    # 确保目标文件夹存在  
    if not os.path.exists(target_dir):  
        os.makedirs(target_dir)  
  
    # 获取文件夹中所有文件的列表  
    files = os.listdir(source_dir)  
  
    # 如果文件数量少于需要的数量,则输出警告并返回  
    if len(files) < count:  
        print(f"Warning: There are only {len(files)} files in {source_dir}. Moving all files.")  
        count = len(files)  
  
    # 随机选择count个文件的索引  
    selected_indices = random.sample(range(len(files)), count)  
  
    # 根据索引获取文件名,并构建完整路径  
    selected_files = [os.path.join(source_dir, files[i]) for i in selected_indices]  
  
    # 将选中的文件移动到目标文件夹  
    for file in selected_files:  
        try:  
            shutil.move(file, target_dir)  
            print(f"Moved: {file} to {target_dir}")  
        except Exception as e:  
            print(f"Error moving {file}: {e}")  
  
# 使用示例  
source_directory = "/path/to/source/directory"  # 替换为你的源文件夹路径  
target_directory = "/path/to/target/directory"  # 替换为目标文件夹路径  
count = 210  # 需要选取的文件数量  
  
select_and_move_random_files(source_directory, target_directory, count)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值