Python復(fù)制文件操作實(shí)例詳解
本文實(shí)例講述了Python復(fù)制文件操作用法。分享給大家供大家參考,具體如下:
這里用python實(shí)現(xiàn)了一個小型的自動發(fā)版本的工具。這個“自動發(fā)版本”有點(diǎn)虛, 只是簡單地把debug 目錄下的配置文件復(fù)制到指定目錄,把Release下的生成文件復(fù)制到同一指定,過濾掉不需要的文件夾(.svn),然后再往這個指定目錄添加幾個特定的文件。
這個是我的第一個python小程序。
下面就來看其代碼的實(shí)現(xiàn)。
首先插入必要的庫:
import os import os.path import shutil import time, datetime
然后就是一大堆功能函數(shù)。第一個就是把某一目錄下的所有文件復(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)
刪除一級目錄下的所有文件:
def removeFileInFirstDir(targetDir):
for file in os.listdir(targetDir):
targetFile = os.path.join(targetDir, file)
if os.path.isfile(targetFile):
os.remove(targetFile)
復(fù)制一級目錄下的所有文件到指定目錄:
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"
希望本文所述對大家python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python存儲或讀取json時(shí)如何引入額外的雙引號和轉(zhuǎn)義引號
這篇文章主要介紹了Python存儲或讀取json時(shí)如何引入額外的雙引號和轉(zhuǎn)義引號問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
python爬蟲入門教程--優(yōu)雅的HTTP庫requests(二)
requests 實(shí)現(xiàn)了 HTTP 協(xié)議中絕大部分功能,它提供的功能包括 Keep-Alive、連接池、Cookie持久化、內(nèi)容自動解壓、HTTP代理、SSL認(rèn)證等很多特性,下面這篇文章主要給大家介紹了python爬蟲入門中關(guān)于優(yōu)雅的HTTP庫requests的相關(guān)資料,需要的朋友可以參考下。2017-05-05
python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別
本文主要介紹了python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
python實(shí)現(xiàn)向微信用戶發(fā)送每日一句 python實(shí)現(xiàn)微信聊天機(jī)器人
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)向微信用戶發(fā)送每日一句,python調(diào)實(shí)現(xiàn)微信聊天機(jī)器人,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Python利用scikit-learn實(shí)現(xiàn)近鄰算法分類的示例詳解
scikit-learn已經(jīng)封裝好很多數(shù)據(jù)挖掘的算法,這篇文章就來用scikit-learn實(shí)現(xiàn)近鄰算法分類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02
Python3訪問MySQL數(shù)據(jù)庫的實(shí)現(xiàn)步驟
要實(shí)現(xiàn)一個簡單的IM(即時(shí)通訊)系統(tǒng),支持用戶注冊、登錄和聊天記錄存儲,你可以使用Python和mysql數(shù)據(jù)庫,以下是一個基本的實(shí)現(xiàn)步驟,并通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-11-11

