| | |
Zip and Unzip Data (Python)
The Python module zlib allows you to compress a typical text string to about one half its original size. A handy feature when you have to transmit or save a large amount of text or data. It saves you time both writing and later reading back the compressed file. The data can then be decompressed to obtain the original information. The module also contains a crc32() function to keep track of the data integrity with a checksum.
# zipping and unzipping a string using the zlib module # a very large string could be zipped and saved to a file speeding up file writing time # and later reloaded and unzipped by another program speeding up reading of the file # tested with Python24 vegaseat 15aug2005 import zlib str1 = \ """Dallas Cowboys football practice at Valley Ranch was delayed on Wednesday for nearly two hours. One of the players, while on his way to the locker room happened to look down and notice a suspicious looking, unknown white powdery substance on the practice field. The coaching staff immediately suspended practice while the FBI was called in to investigate. After a complete field analysis, the FBI determined that the white substance unknown to the players was the goal line. Practice was resumed when FBI Special Agents decided that the team would not be likely to encounter the substance again. """ print '-'*70 # 70 dashes for the fun of it print str1 print '-'*70 crc_check1 = zlib.crc32(str1) print "crc before zip=", crc_check1 print "Length of original str1 =", len(str1) # zip compress the string zstr1 = zlib.compress(str1) print "Length of zipped str1 =", len(zstr1) filename = 'Dallas.zap' # write the zipped string to a file fout = open(filename, 'w') try: print >> fout, zstr1 except IOError: print "Failed to open file..." else: print "done writing", filename fout.close() # read the zip file back fin = open(filename, 'r') try: zstr2 = fin.read() except IOError: print "Failed to open file..." else: print "done reading", filename fin.close() # unzip the zipped string from the file str2 = zlib.decompress(zstr2) print '-'*70 print str2 print '-'*70 crc_check2 = zlib.crc32(str2) print "crc after unzip =", crc_check2, "(check sums should match)"
Similar Threads
Other Threads in the Python Forum
- How Unzip a Zip file within a Zip File ? (C#)
- python config files zip (Python)
- zip/ unzip (C#)
- C++ Unzip Message String which is zipped using java.until.zip (C++)
- Need some C/C++ code to unzip a zip file. (C++)
Other Threads in the Python Forum
- Previous Thread: starting Python
- Next Thread: Tkinter Countdown
| Thread Tools | Search this Thread |
Tag cloud for Python
application array beginner c++ c/c++ change character class client code command conditions convert count create csv ctypes database dictionary django dll error examples excel exe extensions fdlib file float format framework ftp function game graphics gui homework image images import input library line linux list lists logging loop loops microcontroller mouse mysql mysqldb number numbers output parse parsing path port prime processing program programming py2exe pygame pygtk pyqt python random raw_input recursion recursive redirect remote scrolledtext server socket ssh stdout string strings syntax table terminal text thread threading tkinter transparency tuple tutorial ubuntu unicode variable variables veloicty web windows wxpython



