zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    线程之同步函数
    selenium破解极验验证
    数据结构--树
    数据结构--线性表
    数据结构--栈
    数据结构--队列
    代理的初步理解
    javamail+ical4j发送会议提醒
    阿里云学习之IOT物联网套件(客户端与服务端的后台数据传输)
    位图数据结构原理分析总结
  • 原文地址:https://www.cnblogs.com/jalenwang/p/2123241.html
Copyright © 2011-2022 走看看