• 使用Python解压,对比文件


    1 What is the problem?

    做为程序员,在日常的coding中,我们会不是地保持一些code changes。作为中间版本,以备后用;或者发给别人review。我通常都是把这样的code changes打包成一个zip文件,集中管理,以备参考。修改之前的文件放在一个old文件夹中,修改之后的文件放在new 文件夹中。

    但我要参考这样的一个code changes时,我会unzip,打开merger(一个文件比较器),输入new和old文件夹的路径。如果你经常run 这个workflow,一定会觉得比较烦,特别是选择new和old的路径。何不开发一个脚本自动化这些步骤呢?

    2 Solution

    很多人会想到用BAT,我以前也用BAT写过类似的Tool。但是想到在BAT中操作字符串和调试BAT的难度,我还是决定用选择另外一种语言。

    之前就在学Python,多少有点懂,就用Python来练练手吧。最终代码如下:

    # -*- coding:utf-8 -*-
    
    '''
    Created on 2011-7-6
    
    @author: Jalen
    '''
    
    import os
    import os.path
    import sys
    import subprocess
    
    
    if not os.path.exists('c:\\temp'):
        os.mkdir('c:\\temp')
        
    zipFile = sys.argv[1]
    
    APPS = os.environ.get("APPS")
    
    
    name = zipFile.split("\\")[-1]
    FolderName = name.split(".")[0] 
    outputFolder = "c:\\temp\\" + FolderName
    
    #Unzip the package
    
    os.system(APPS + "\\FileReaderCreater\\7-Zip\\7z" + " x " + zipFile + " -y -o" + outputFolder)
    
    #Call the merger
    subFolder = os.listdir(outputFolder)[0]
    newFolder = outputFolder + "\\" + subFolder + "\\new"
    
    oldFolder = outputFolder + "\\" + subFolder + "\\old"
    
    os.system("C:\PROGRA~2\Araxis\ARAXIS~1.5\Merge " + oldFolder + " " + newFolder)

    Author: Jalen Wang <jiayuewang228@gmail.com>

    Date: 2011-07-31 22:26:32

    HTML generated by org-mode 6.33x in emacs 23

  • 相关阅读:
    VS2013中使用码云gitee建立源代码管理
    win10激活出现错误0xc004f074 解决方案
    List<string> 去重复 并且出现次数最多的排前面
    jQuery.extend(),jQuery.fn.extend() 区别
    js 获取范围内的随机数
    xslt/xpath对不存在属性的判断问题
    查询各科成绩不合格与合格人数
    微信开发之实现一键拨号及短信发送功能
    Git 常用命令
    Excel 表 导入导出
  • 原文地址:https://www.cnblogs.com/jalenwang/p/2123241.html
Copyright © 2020-2023  润新知