轉載請標明出處:http://www.cnblogs.com/zblade/python
最近在思考怎麼實現python的一鍵打包,利用python的跨平臺特性,能夠實如今windows和mac下都可執行的特色。要對遊戲工程進行打包,那麼就須要將遊戲工程進行更新,而後才執行打包。目前項目中採用了SVN和Git並行開發的模式,那麼就須要既更新svn,又要更新Git,因此調研了一下如何用Python腳原本執行相關的命令,更新SVN和Git對應的工程。git
對於SVN,首先須要配置SVN的相關信息: SVN軟件所在地址,SVN的url路徑,本地svn工程的路徑,以及svn操做的選項,能夠單獨寫一個配置的python腳本,簡易版本以下:windows
# -*- coding: utf-8 -*-
setting = { 'svn': r'D:\SVN\bin', 'url':'your svn path ', #svn的url, 能夠在svn check中查找到 'dist':'your local svn project path', #本地的svn工程所在路徑,注意python中路徑用左向斜槓,也能夠前面加r,而後用右向斜槓 'closeOption':' /closeonend:1' } # /closeonend:0 不自動關閉對話框 # /closeonend:1 若是沒發生錯誤則自動關閉對話框 # /closeonend:2 若是沒發生錯誤和衝突則自動關閉對話框 # /closeonend:3 若是沒有錯誤、衝突和合並,會自動關閉 # /closeonend:4 若是沒有錯誤、衝突和合並,會自動關閉
對於Git來講,執行完Git的安裝後,在系統的環境變量中,在path中增長Git的路徑,就能夠在cmd中執行git的相關命令:svn
而後在命令行中輸入git,能夠獲得:url
說明Git安裝正確,同時能夠支持pull/push等基本命令操做,那麼在python腳本中也能夠執行這樣的操做,寫了一個簡易版本的python腳本,集合svn和git的更新於一體:#!/user/bin/python#coding = utf-8spa
import os import time import configs dist = configs.setting['dist']
#先切換到git工程所在目錄 os.chdir('D:/client')
#git pull命令 cmd = 'git pull' result = os.system(cmd) os.chdir(configs.setting['svn']) #此處這個path後面必須有空格,否則svn update會path路徑報錯
#svn revert 命令
cmd = 'TortoiseProc.exe /command:revert /path ' + dist + ' /notempfile' + configs.setting['closeOption'] result = os.system(cmd)
#svn update命令 cmd = 'TortoiseProc.exe /command:update /path ' + dist + ' /notempfile' + configs.setting['closeOption'] result = os.system(cmd) if result == 0: print('svn update succes') else: print('svn update fail')
在命令行中執行,能夠獲得:命令行
後續能夠在此基礎上進一步的完善和迭代,今天的小記就到這兒~code