日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值

發(fā)布時間:2025/3/19 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#!/usr/bin/env python

#_*_encoding:utf-8

# 2018/05/29

#augustyang

#2.0

'''

解壓文件,合并文件 打包成zip格式文件 生成MD5值

'''

import zipfile

import os

import shutil

import time

import hashlib

file_dir= r"C:\Users\august\Desktop\新建文件夾 (3)"

slice1 = slice(0,2) #取2級文件夾

ll_test = [] #存放解壓好的各層子目錄 [['release'], ['HotfixRoot'], ['Gamei'], ['2.90'], ['Iphone'], []]

def Get_address(file_dir): #獲取每個zip文件的絕對地址

list_1 = []

for root, dirs, files in os.walk(file_dir):

for fn in files:

if fn.endswith(".zip"):

list_1.append(file_dir+os.sep+fn)

return list_1

def un_zip(file_name): #解壓zip文件

"""unzip zip file"""

zip_file = zipfile.ZipFile(file_name)

if os.path.isdir(file_name+'_files'):

pass

else:

os.mkdir(file_name+'_files')

for names in zip_file.namelist():

zip_file.extract(names, file_name + "_files/")

zip_file.close()

return (file_name +'_files')

#找到解壓的目錄

def func(dir):

list_1 = []

for root, dirs, files in os.walk(dir):

list_1.append(dirs)

return os.path.join(file_dir,list_1[0][0])

def mk_dir(dir): #創(chuàng)建slice1層文件夾

for root, dirs, files in os.walk(dir):

ll_test.append(dirs)

test1 = ''

for i in ll_test[slice1]:

test1 = os.path.join(test1,i[0])

dir_name = test1 + '\\'

return dir_name

def copytree(src, dst, symlinks=False, ignore=None): #合并文件

for item in os.listdir(src):

s = os.path.join(src, item)

d = os.path.join(dst, item)

if os.path.isdir(s):

shutil.copytree(s, d, symlinks, ignore)

else:

shutil.copy2(s, d)

def rm_dirs(path): #刪除目錄

ls = os.listdir(path)

for i in ls:

c_path = os.path.join(path,i)

if os.path.isdir(c_path):

if shutil.rmtree(c_path) == None:

print ('刪除成功')

def archive_file_zip(source_dir, output_filename): #打包成zip包

zipf = zipfile.ZipFile(output_filename, 'w')

pre_len = len(os.path.dirname(source_dir))

for parent, dirnames, filenames in os.walk(source_dir):

for filename in filenames:

pathfile = os.path.join(parent, filename)

arcname = pathfile[pre_len:].strip(os.path.sep)

zipf.write(pathfile, arcname)

zipf.close()

def GetFileMd5(filename): #產生MD5值

if not os.path.isfile(filename):

return

myhash = hashlib.md5()

f = open(filename,'rb')

while True:

b = f.read(1024)

if not b :

break

myhash.update(b)

f.close()

return myhash.hexdigest()

if __name__ =="__main__":

rm_dirs(file_dir)

l_list = []

for i in Get_address(file_dir):

old_filename = un_zip(i)

l_list.append(old_filename)

ll = mk_dir(func(file_dir)) #創(chuàng)建slice1層文件夾

for i in l_list:

copytree(i+'\\'+ll,file_dir+'\\'+ll)

now_time = time.strftime("%Y_%m_%d_%H_%M",time.localtime()) #時間

file_dir_zip = ll.split(os.sep)[0]

file_name = 'kitty_client_CDN_'+now_time+'.zip'

archive_file_zip(os.path.join(file_dir,file_dir_zip),os.path.join(file_dir,file_name))

print(file_name,'MD5值為:',GetFileMd5(os.path.join(file_dir,file_name)))

刪除成功

刪除成功

刪除成功

kitty_client_CDN_2018_05_29_20_17.zip MD5值為: f2409e4f802eb82a1fd118ca6b76b866

總結

以上是生活随笔為你收集整理的python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。