<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xylz,imxylz

    關注后端架構、中間件、分布式和并發編程

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      111 隨筆 :: 10 文章 :: 2680 評論 :: 0 Trackbacks
    9-20.

    Compressed Files. Write a short piece of code that will compress and decompress gzipped or bzipped files. Confirm your solution works by using the command-line gzip or bzip2 programs or a GUI program like PowerArchiver, StuffIt, and/or WinZip.

     1#!/usr/bin/env python
     2#-*- coding:utf-8 -*-
     3#$Id: p0920.py 166 2010-06-29 03:46:56Z xylz $
     4
     5'''
     6This is a 'python' study plan for xylz.
     7Copyright (C)2010 xylz (www.imxylz.info)
     8'''
     9
    10import gzip
    11import os
    12
    13def compress (dst,f):
    14    print "compress %s to %s" % (f,dst)
    15    f_out = gzip.open(dst,'wb')
    16    f_in = open(f,'rb')
    17    f_out.writelines(f_in)
    18    f_in.close()
    19    f_out.close()
    20    in_size = os.path.getsize(f)
    21    out_size = os.path.getsize(dst)
    22    print "source size %d bytes, target size %d bytes, %d%%" % (in_size,out_size,(out_size*100/in_size))
    23        
    24def decompress (f,dst):
    25    print "decompress %s to %s" % (f,dst)
    26    f_in = gzip.open(f,'rb')
    27    f_out = open(dst,'wb')
    28    f_out.writelines(f_in)
    29    f_in.close()
    30    f_out.close()
    31    in_size = os.path.getsize(f)
    32    out_size = os.path.getsize(dst)
    33    print "source size %d bytes, target size %d bytes, %d%%" % (in_size,out_size,(in_size*100/out_size))
    34    
    35
    36if __name__ == '__main__':
    37    import sys
    38    if len(sys.argv)<3 or ('c'!= sys.argv[1and 'x'!= sys.argv[1]):
    39        print "Usage: %s <c|x> <file> [destfile]" % (sys.argv[0],)
    40        sys.exit(0)
    41    src_file = sys.argv[2]
    42    dest_file = None
    43    if len(sys.argv)>3:
    44        dest_file = sys.argv[3]
    45    
    46
    47    if 'c' == sys.argv[1]:
    48        if not dest_file:
    49            dest_file = src_file+".gz"
    50        compress(dest_file,src_file)
    51    
    52    else:
    53        if not dest_file:
    54            dest_file = src_file[:src_file.index('.gz')] #raise exception if file error
    55        decompress(src_file,dest_file)
    56        
    57        
    58    
    59
    下面是一次執行的輸出結果:
    C:\Users\xylz\Desktop\core_python>python p0920.py
    Usage: p0920.py <c|x> <file> 
    [destfile]

    C:\Users\xylz\Desktop\core_python>python p0920.py c p0920.py
    compress p0920.py to p0920.py.gz
    source size 
    1587 bytes, target size 614 bytes, 38%

    C:\Users\xylz\Desktop\core_python>python p0920.py x p0920.py.gz p0920.py
    .2
    decompress p0920.py.gz to p0920.py
    .2
    source size 
    614 bytes, target size 1587 bytes, 38%

    C:\Users\xylz\Desktop\core_python>md5sum p0920.py p0920.py
    .2
    3383e1a05fbede400dd016feed8a55bf *p0920.py
    3383e1a05fbede400dd016feed8a55bf *p0920.py
    .2


    ©2009-2014 IMXYLZ |求賢若渴
    posted on 2010-06-29 11:51 imxylz 閱讀(16701) 評論(0)  編輯  收藏 所屬分類: Python

    ©2009-2014 IMXYLZ
    主站蜘蛛池模板: 国产亚洲成av人片在线观看 | 亚洲精品国产综合久久久久紧| 最近免费中文字幕MV在线视频3| 国产成人精品久久亚洲| 国产AV无码专区亚洲AV琪琪| 免费在线观看中文字幕| 三级片免费观看久久| 亚洲国产精品毛片av不卡在线| 黄页网址大全免费观看12网站| 日韩精品电影一区亚洲| 一级A毛片免费观看久久精品 | 亚洲一级特黄无码片| 中文在线免费视频| 久久综合九九亚洲一区| 99久9在线|免费| 亚洲国产视频久久| 亚洲成?v人片天堂网无码| 在线观看免费黄网站| 亚洲一区二区三区日本久久九| 希望影院高清免费观看视频| 亚洲hairy多毛pics大全| 亚洲国产精品成人AV无码久久综合影院| 四虎影视在线看免费观看| 国产亚洲情侣一区二区无| 日韩免费高清大片在线| 亚洲另类春色国产精品| 永久黄网站色视频免费观看| 污污视频网站免费观看| 婷婷久久久亚洲欧洲日产国码AV| 永久免费视频网站在线观看| 亚洲人成网站18禁止| 精品国产亚洲一区二区在线观看| 日本在线看片免费| 亚洲色欲啪啪久久WWW综合网| 男人的天堂亚洲一区二区三区| 男性gay黄免费网站| 国产亚洲精品岁国产微拍精品| 亚洲视频在线免费看| 美女羞羞喷液视频免费| 亚洲Av无码精品色午夜| 成年女人18级毛片毛片免费|