你可以使用Python的osshutil模块来实现这个需求。以下是一个示例脚本:

import os
import shutil

def compress_files(directory):
    # 获取目录下的所有文件和文件夹
    files = os.listdir(directory)
    
    # 创建一个字典来保存相同文件的路径
    file_dict = {}
    
    # 遍历所有文件和文件夹
    for file in files:
        # 构建文件的完整路径
        file_path = os.path.join(directory, file)
        
        # 判断是否为文件
        if os.path.isfile(file_path):
            # 获取文件的大小和修改时间
            file_size = os.path.getsize(file_path)
            file_mtime = os.path.getmtime(file_path)
            
            # 构建一个元组作为字典的键
            file_key = (file_size, file_mtime)
            
            # 如果键已经存在,则将文件添加到对应的列表中
            if file_key in file_dict:
                file_dict[file_key].append(file_path)
            # 否则,创建一个新的键,并将文件添加到对应的列表中
            else:
                file_dict[file_key] = [file_path]
    
    # 遍历字典中的每一个键值对
    for files_list in file_dict.values():
        # 如果有多个文件,进行压缩
        if len(files_list) > 1:
            # 获取第一个文件的路径
            file_path = files_list[0]
            
            # 构建压缩文件的路径
            zip_path = file_path + '.zip'
            
            # 创建一个压缩文件对象
            with shutil.make_archive(zip_path, 'zip', directory, *files_list) as zip_file:
                print(f'压缩文件 {zip_path} 创建成功')

你可以将上述代码保存为一个.py文件,然后在Linux系统中运行该脚本来实现每周判断并打包压缩相同文件的功能。你需要将directory参数设置为Linux系统A目录的路径。

用python写一个脚本需求是 每周判断Linux系统A目录下的文件相同的文件进行打包压缩

原文地址: https://www.cveoy.top/t/topic/i85C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录