> I made a C/S network program, the client receive the zip file from the > server, and read the data into a variable. how could I process the > zipfile directly without saving it into file. > In the document of the zipfile module, I note that it mentions the > file-like object? what does it mean? > > class ZipFile( file[, mode[, compression[, allowZip64]]]) > Open a ZIP file, where file can be either a path to a file (a > string) or a file-like object.
Yes it is possible to process the content of the zipfile without saving every file: [untested] from zipfile import ZipFile from StringIO import StringIO zipp = ZipFile( this_is_the_zip_file_from_your_server, 'r' ) for name in zipp.namelist( ): content = zipp.read( name ) s = StringIO( ) s.write( content ) # now the file 'name' is in 's' (in memory) # you can process it further # ............ s.close( ) zipp.close( ) HTH, Daniel -- http://mail.python.org/mailman/listinfo/python-list