>>> 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.luaLua/GongShi.luaLua/RobotConfig.luaQGameServer_x86.soData12.12.zipQCommunity_x86.soQDBProxy_x86.soQGateway_x86.soQWorld_x86.so
上面的代码是读取一个zip压缩包里所有文件的名字。z.namelist() 会返回压缩包内所有文件名的列表。
>>> for i in z.infolist(): print i.file_size,i.header_offset 0 021841 3416197 40867977 8294237169336 104213140159 7251418926878267 7518759552561163 822609374594955 979322449483462 99184802
z.infolist(), 它返回的就是压缩包内所有文件的信息,就是一个ZipInfo的列表。一个ZopInfo对象中包含了压缩包内一个文件的信息,其中比较常用的是 filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移。其实之前的z.namelist()就是读取的ZopInfo中的filename,组成一个 list返回的。