注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

独木人生

感悟生命

 
 
 

日志

 
 

oday 压缩文件解压工具------python版  

2007-04-04 14:03:39|  分类: python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
原来使用batch来调用WinRAR,解压oday 压缩文件,总是有些问题。后来学习python,就将程序改了一下,修正一些bug。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#  demo of the usage of python
#
#
#

"""Test code

Suggested usage: import MyUnrar
"""
__decription__ = "Batch Unrar Kit"
__version__ = "0.1"
__date__ = " Mar.28th.2007"
__author__ = "hu <huys03@gmail.com> "
__license__ = "Licensed under the GPLv2, see the file LICENSE in this tarball."
__copyright__= "Copyright (C) 2007 by hu <huys03@gmail.com>."

from time import sleep
import string
import os
from os.path import join, getsize, abspath, exists, splitext

__WinRAR__="C:\\Program Files\\WinRAR\\WinRAR.exe"

exec_rar= '\"'+__WinRAR__ + '\"'
urar_chm =""" IF EXIST *.rar """ + exec_rar +"""  e -o- -y *.rar *.chm """
urar_pdf = """IF EXIST *.rar """ + exec_rar + """  e -o- -y *.rar *.pdf"""

class MyUnrar:
###
    def __init__ (self, path=os.getcwd()):
        self.path = path
        self.count = 0

###
    def checkRAR(self):
        if exists(__WinRAR__):
            print "WinRAR is OK!"       
        else:
            print "WinRAR is not there!"
       
   
###
    def unrar(self):
        print self.count
        for f in os.listdir( self.path ) :
            (filename, ext) = splitext(f)
            if ext.lower() == ".zip":
                command =exec_rar + ' e -o- -y ' + f + ' *.r*'
                os.system( command )
               
            if ext.lower() == ".rar":
                os.system( urar_chm )
                os.system( urar_pdf )
        self.count = self.count + 1
       
    def unrar(self, path):
        print self.count
        for f in os.listdir( path ) :
            (filename, ext) = splitext(f)
            if ext.lower() == ".zip":
                command =exec_rar +' e -o- -y ' + path + '\\' + f + ' *.r*'
            #    print command
                os.system( command )
               
            if ext.lower() == ".rar":
                os.system( urar_chm )
                os.system( urar_pdf )
        self.count = self.count + 1
       
    def deleteRAR(self):
        for f in os.listdir( self.path ) :
            (filename, ext) = splitext(f)
            if ext.lower().find(".r") != -1:
                os.remove(f)
               
###
    def run(self):
        print "==============================="
        print __decription__
        print 'version:', __version__
        print __license__
        print __copyright__
        print "==============================="
        self.checkRAR();

        for root, dirs, files in os.walk( self.path ):
            for name in dirs:
                    fullpath = join(root, name)
                    print fullpath
                    self.unrar(fullpath)
                    os.system( urar_chm )
                    os.system( urar_pdf )
                    self.deleteRAR()

       
       
###
if __name__=="__main__":
    ur = MyUnrar()
    ur.run()
    sleep(5)
  评论这张
 
阅读(226)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017