?用python實(shí)現(xiàn)了一個(gè)小型的工具。其實(shí)只是簡單地把debug 目錄下的配置文件復(fù)制到指定目錄,把Release下的生成文件復(fù)制到同一指定,過濾掉不需要的文件夾(.svn),然后再往這個(gè)指定目錄添加幾個(gè)特定的文件。
??? 這個(gè)是我的第一個(gè)python小程序。
??? 下面就來看其代碼的實(shí)現(xiàn)。
首先插入必要的庫:
import os import os.path import shutil import time, datetime
然后就是一大堆功能函數(shù)。第一個(gè)就是把某一目錄下的所有文件復(fù)制到指定目錄中:
def copyFiles(sourceDir, targetDir): if sourceDir.find(".svn") >0: return for file in os.listdir(sourceDir): sourceFile = os.path.join(sourceDir, file) targetFile = os.path.join(targetDir, file) if os.path.isfile(sourceFile): if not os.path.exists(targetDir): os.makedirs(targetDir) if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))): open(targetFile, "wb").write(open(sourceFile, "rb").read()) if os.path.isdir(sourceFile): First_Directory = False copyFiles(sourceFile, targetFile)
刪除一級(jí)目錄下的所有文件:
def removeFileInFirstDir(targetDir): for file in os.listdir(targetDir): targetFile = os.path.join(targetDir, file) if os.path.isfile(targetFile): os.remove(targetFile)
復(fù)制一級(jí)目錄下的所有文件到指定目錄:
def coverFiles(sourceDir, targetDir): for file in os.listdir(sourceDir): sourceFile = os.path.join(sourceDir, file) targetFile = os.path.join(targetDir, file) #cover the files if os.path.isfile(sourceFile): open(targetFile, "wb").write(open(sourceFile, "rb").read())
復(fù)制指定文件到目錄:
def moveFileto(sourceDir, targetDir):
shutil.copy(sourceDir, targetDir)
往指定目錄寫文本文件:
def writeVersionInfo(targetDir): open(targetDir, "wb").write("Revison:")
返回當(dāng)前的日期,以便在創(chuàng)建指定目錄的時(shí)候用:
def getCurTime(): nowTime = time.localtime() year = str(nowTime.tm_year) month = str(nowTime.tm_mon) if len(month) <2: month ='0'+ month day = str(nowTime.tm_yday) if len(day) <2: day ='0'+ day return (year +'-'+ month +'-'+ day)
然后就是主函數(shù)的實(shí)現(xiàn)了:
if __name__ =="__main__": print "Start(S) or Quilt(Q) \n" flag = True while (flag): answer = raw_input() if'Q'== answer: flag = False elif 'S'== answer : formatTime = getCurTime() targetFoldername ="Build "+ formatTime +"-01" Target_File_Path += targetFoldername copyFiles(Debug_File_Path, Target_File_Path) removeFileInFirstDir(Target_File_Path) coverFiles(Release_File_Path, Target_File_Path) moveFileto(Firebird_File_Path, Target_File_Path) moveFileto(AssistantGui_File_Path, Target_File_Path) writeVersionInfo(Target_File_Path+"\\ReadMe.txt") print "all sucess" else: print "not the correct command"
??? 感覺是果然簡單, 不過簡單的原因是因?yàn)閹旌瘮?shù)豐富,語言基本特性的簡單真沒感覺出來。
我們?cè)賮砜匆粋€(gè)實(shí)例
本人一直用foobar2000作為音樂播放器,聽歌時(shí)候把自己喜歡的歌都會(huì)特別添加到一個(gè)播放列表。
自己用iphone,同步歌曲的時(shí)候需要用到itunes,而itunes卻沒有我用foobar2000的精選播放列表呢~
本人只好定期把播放列表的mp3文件拷貝到一個(gè)目錄,我用itunes只需同步這個(gè)目錄即可
(順便吐槽下itunes不好使,在后期我都直接用其他同步工具代替之)
播放列表是*.m3u格式的文本,用記事本打開可以看到mp3的絕對(duì)路徑。
直接貼代碼吧,寫得比較倉促,各位將就參考下即可:
#coding=gbk import sys, shutil, os, string mp3List = "F:\\My Documents\\mp3list\\默認(rèn)精選.m3u" destDir = "G:\\POP\\默認(rèn)精選" def cpFile(srcPath): fileName = os.path.basename(srcPath) destPath = destDir + os.path.sep + fileName if os.path.exists(srcPath) and not os.path.exists(destPath): print 'cp %s %s' % (srcPath,destPath) shutil.copy(srcPath,destPath) if __name__ == '__main__': f = file(mp3List, 'r') lists = f.readlines() for i in lists: cpFile(string.strip(i)) f.close()
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
