代码如下:
#encoding=utf-8 print '中国' #处理字符串中的Zip文件 #你的程序收到了一个字符串,内容是一个ZIP文件,需要读取zip文件的信息 #可能来自db的blob字段 import cStringIO import zipfile import os class ZipString(zipfile.ZipFile): def __init__(self,datastring): zipfile.ZipFile.__init__(self,cStringIO.StringIO(datastring)) #以下为测试 zp = zipfile.ZipFile(r'D:\program files\ROMasterLab\Driver.zip','r') print zp.namelist() zp.close() file_obj = open(r'D:\program files\ROMasterLab\Driver.zip','rb') data = file_obj.read(os.path.getsize(r'D:\program files\ROMasterLab\Driver.zip')) zpstr = ZipString(data) print zpstr.namelist() file_obj.close()
打印结果如下:
中国
['2K_XP_COM/', '2K_XP_COM/usb2ser_2kxp.cat', '2K_XP_COM/usb2ser_2kXP.inf', '2K_XP_COM/usb2ser_XP64.inf', 'Vista/', 'Vista/usb2ser_Vista.inf', 'Vista/usb2ser_Vista64.inf']
['2K_XP_COM/', '2K_XP_COM/usb2ser_2kxp.cat', '2K_XP_COM/usb2ser_2kXP.inf', '2K_XP_COM/usb2ser_XP64.inf', 'Vista/', 'Vista/usb2ser_Vista.inf', 'Vista/usb2ser_Vista64.inf']