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

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

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

    xylz,imxylz

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

       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      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
    下面是一次執(zhí)行的輸出結果:
    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
    主站蜘蛛池模板: 日韩免费视频一区二区| 免费看国产精品3a黄的视频| 51在线视频免费观看视频| 国产精品亚洲二区在线观看 | 国产精品免费在线播放| 无码高潮少妇毛多水多水免费| 亚洲国产精品人久久电影 | 免费a级黄色毛片| 亚洲精品第一综合99久久| 最近中文字幕国语免费完整 | 成人免费网站久久久| 免费看香港一级毛片| 国产亚洲sss在线播放| 久久天天躁狠狠躁夜夜免费观看| 亚洲人成电影青青在线播放| 丁香花免费完整高清观看| 一级毛片不卡免费看老司机| 中文字幕在亚洲第一在线| 久久毛片免费看一区二区三区| vvvv99日韩精品亚洲| 添bbb免费观看高清视频| 国产免费AV片在线播放唯爱网| 有色视频在线观看免费高清在线直播| 久久丫精品国产亚洲av不卡| 亚洲一区二区在线免费观看| 亚洲伦理一二三四| 亚洲啪啪综合AV一区| 日韩视频免费在线观看| 免费观看四虎精品成人| 亚洲伊人久久大香线焦| 亚洲av永久无码精品网站| 日韩免费无码一区二区三区 | 亚洲色一区二区三区四区| 国产老女人精品免费视频| 免费的黄色网页在线免费观看| 亚洲乱码中文论理电影| 亚洲a在线视频视频| 韩国欧洲一级毛片免费| 一级女人18毛片免费| 免费观看又污又黄在线观看| 国产成人亚洲合集青青草原精品|