用python写一个脚本需求是 每周判断Linux系统A目录下的文件相同的文件进行打包压缩
你可以使用Python的os和shutil模块来实现这个需求。以下是一个示例脚本:
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目录的路径。
原文地址: https://www.cveoy.top/t/topic/i85C 著作权归作者所有。请勿转载和采集!