python3 压缩文件
根据文件修改日期同一天的文件压缩成一个压缩包
// compresszip.py
#!/usr/local/bin/python3
import os, time, sys, zipfile
root_path=sys.argv[1]
zipdict = {}
def file_name(file_dir):
os.chdir(file_dir)
for root, dirs, files in os.walk(file_dir):
#print('root_dir:', root) # 当前目录路径
#print('sub_dirs:', dirs) # 当前路径下所有子目录
#print('files:', files) # 当前路径下所有非目录子文件
for file in files:
if ".zip" in file:
continue
modify_time = os.path.getmtime(file)
date = time.strftime("%Y%m%d", time.localtime(modify_time))
if date in zipdict:
zipdict.get(date).append(file)
else:
zipdict[date]=[file]
#print(date)
def zip_files(zip_src):
print("begin zip ...")
isExistspath = root_path +"/"+ zip_src[0:4]+"/"+zip_src[4:6]
isExists=os.path.exists(isExistspath)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(isExistspath)
print(isExistspath+' 创建成功')
f = zipfile.ZipFile(isExistspath +"/"+zip_src + ".zip", 'w', zipfile.ZIP_DEFLATED)
for file in zipdict.get(zip_src):
f.write(file)
os.remove(root_path + "/"+ file)
f.close()
if __name__ == "__main__":
file_name(root_path)
for key in zipdict.keys():
zip_files(key)
执行命令 : compresszip.py 要压缩文件的目录