>>> 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返回的。