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

002_010 Python 处理字符串中的Zip文件 你的程序收到了一个字符串,内容是一个ZIP文件,需要读取zip文件的信息

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

代码如下:

#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']

抱歉!评论已关闭.