>>> os.chdir(r'E:\版本发布\内网平台\rpgserver\1212') >>> z=zipfile.ZipFile('Release_1212_V1.2.zip','r')# 这里的第二个参数用r表示是读取zip文件,w是创建一个zip文件 >>> for f in z.namelist(): print f Lua/ Lua/config.lua Lua/GongShi.lua Lua/RobotConfig.lua QGameServer_x86.so Data12.12.zip QCommunity_x86.so QDBProxy_x86.so QGateway_x86.so QWorld_x86.so
上面的代码是读取一个zip压缩包里所有文件的名字。z.namelist() 会返回压缩包内所有文件名的列表。
>>> for i in z.infolist(): print i.file_size,i.header_offset 0 0 21841 34 16197 4086 7977 8294 237169336 10421 3140159 72514189 26878267 75187595 52561163 82260937 4594955 97932244 9483462 99184802
z.infolist(), 它返回的就是压缩包内所有文件的信息,就是一个ZipInfo的列表。一个ZopInfo对象中包含了压缩包内一个文件的信息,其中比较常用的是 filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移。其实之前的z.namelist()就是读取的ZopInfo中的filename,组成一个 list返回的。