现在的位置: 首页 > 综合 > 正文

002_009 Python 从Zip中读取数据 直接检查一个zip格式的归档文件部分或所有文件而且不用解压

2018年02月15日 ⁄ 综合 ⁄ 共 1087字 ⁄ 字号 评论关闭

代码如下:

#encoding=utf-8

print '中国'

#直接检查一个zip格式的归档文件部分或所有文件而且不用解压

import zipfile

zp = zipfile.ZipFile(r'D:\program files\ROMasterLab\Driver.zip','r')

for filename in zp.namelist():
    print 'File:',filename
    bytes = zp.read(filename, None)
    print 'has',len(bytes),'bytes'
    
#创建ZipFile
import zipfile,tempfile,os,sys

filename = r'd:\1237.zip'
z = zipfile.ZipFile(filename,'w')
z.writestr('hello.py', 'def f(): return "hello world from"+__file__\n')
z.close()
sys.path.insert(0, filename)
import hello
print hello.f()
print sys.path
os.unlink(filename)

打印结果如下:

中国
File: 2K_XP_COM/
has 0 bytes
File: 2K_XP_COM/usb2ser_2kxp.cat
has 10250 bytes
File: 2K_XP_COM/usb2ser_2kXP.inf
has 3276 bytes
File: 2K_XP_COM/usb2ser_XP64.inf
has 1040 bytes
File: Vista/
has 0 bytes
File: Vista/usb2ser_Vista.inf
has 1083 bytes
File: Vista/usb2ser_Vista64.inf
has 1040 bytes
w:\usertemp\tmpu5ghmk.zip
hello world fromd:\1237.zip\hello.py
['d:\\1237.zip', 'F:\\workspace\\StudyPy\\src\\basic', 'F:\\workspace\\StudyPy\\src', 'D:\\Python27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\\plat-win', 'D:\\Python27\\lib\\lib-tk', 'D:\\Python27', 'D:\\Python27\\lib\\site-packages', 'C:\\Windows\\system32\\python27.zip']

抱歉!评论已关闭.