import zipfile_own
import os
import time
import zipfile_com
import zipfile
def gen_file(file_path):
fs = open(file_path, 'r')
while 1:
trunk = fs.read(1024*8)
left = len(trunk)
if left == 0 :
break
yield trunk
#def read(it):
def file_wss(dic):
pos = 0
count = 0
pos_s = 0
for root,dirs,files in os.walk(dic):
for file in files:
file_path = os.path.join(root,file)
st = os.stat(file_path)
mtime = time.localtime(st.st_mtime)
size = st.st_size
it = gen_file(file_path)
iterator = archive.write_wss(it, size, mtime, pos_s, file_path)
#read(iterator)
for i in iterator:
yield i
pos_s = len(i) + pos_s
#yield iterator
#count = count + 1
pos = (30+12)*count + size +len(file_path)
iterator = archive.close_wss(pos_s)
#read(iterator)
for i in iterator:
yield i
#yield iterator
#return iterator
def file_wss_r(dic):
pos = 0
count = 0
pos_s = 0
for root,dirs,files in os.walk(dic):
for file in files:
file_path = os.path.join(root,file)
archive.write(file_path)
archive = zipfile_own.ZipFile('ab.zip','w',zipfile_own.ZIP_STORED)
file_content = file_wss('tett')
fs_f = open('test.zip', 'wb')
for item in file_content:
fs_f.write(item)
fs_f.close()
archive = zipfile_com.ZipFile('out.zip','w',zipfile_com.ZIP_STORED)
file_content = file_wss_r('tett')
archive.close()
zip stream download
最新推荐文章于 2022-02-24 09:39:11 发布