這篇文章將為大家詳細(xì)講解有關(guān)python中怎么使用 svn腳本刪除文件,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都創(chuàng)新互聯(lián)長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為磐石企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),磐石網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
python svn腳本需要我們不斷的學(xué)習(xí),在學(xué)習(xí)的過程中我們會遇到不少的問題,首先我們來看看在文件刪除上的相關(guān)問題介紹。python svn腳本很好用,但是如果要?jiǎng)h除svn文件夾的綁定是個(gè)很麻煩的事情,每個(gè)目錄下都有.svn的文件夾,必須全部刪掉才行。
手動(dòng)刪除費(fèi)時(shí)費(fèi)力,一般都寫段腳本搞定,不過網(wǎng)上搜索出來的python腳本都太冗長了,一點(diǎn)也體現(xiàn)不出python的優(yōu)勢。如下,網(wǎng)上搜索到得代碼:
代碼
#coding=utf-8 import os import shutil import sys import stat def deleteSubFile(svnpath): names = os.listdir(svnpath) for name in names: fp = os.path.join( svnpath, name) if (os.path.isfile(fp)): os.chmod( fp, stat.S_IWRITE) os.remove(fp) else: deleteSubFile(fp) def deleteSVN(parentPath = None, dir = None): if (dir != None and dir == '.svn'): deleteSubFile(os.path.join( parentPath, dir)) shutil.rmtree(os.path.join( parentPath, dir), True, False) print 'deleted ', os.path.join( parentPath, dir) else: if (dir != None): filePath = os.path.join( parentPath, dir) else: filePath = parentPath names = os.listdir(filePath) for name in names: fp = os.path.join( filePath, name) if (os.path.isdir(fp)): deleteSVN(filePath, name) if len(sys.argv) < 2: print 'Usage: python %' % os.path.basename(sys.argv[0]) sys.exit(-1) if os.path.isfile(sys.argv[1]): print '請選擇文件夾, 而不是文件' else: deleteSVN(parentPath = sys.argv[1])
其中實(shí)現(xiàn)功能的核心代碼寫得太過冗長,其實(shí)很簡單的4行代碼就能達(dá)到目的,如下:
1 import os 2 for (p,d,f) in os.walk("要?jiǎng)h除的目錄路徑"): 3 if p.find('.svn')>0: 4 os.popen('rd /s /q %s'%p)
關(guān)于python中怎么使用 svn腳本刪除文件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。