Python實現(xiàn)文件復(fù)制刪除
用python實現(xiàn)了一個小型的工具。其實只是簡單地把debug 目錄下的配置文件復(fù)制到指定目錄,把Release下的生成文件復(fù)制到同一指定,過濾掉不需要的文件夾(.svn),然后再往這個指定目錄添加幾個特定的文件。
這個是我的第一個python小程序。
下面就來看其代碼的實現(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)建指定目錄的時候用:
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ù)的實現(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"
感覺是果然簡單, 不過簡單的原因是因為庫函數(shù)豐富,語言基本特性的簡單真沒感覺出來。
我們再來看一個實例
本人一直用foobar2000作為音樂播放器,聽歌時候把自己喜歡的歌都會特別添加到一個播放列表。
自己用iphone,同步歌曲的時候需要用到itunes,而itunes卻沒有我用foobar2000的精選播放列表呢~
本人只好定期把播放列表的mp3文件拷貝到一個目錄,我用itunes只需同步這個目錄即可
(順便吐槽下itunes不好使,在后期我都直接用其他同步工具代替之)
播放列表是*.m3u格式的文本,用記事本打開可以看到mp3的絕對路徑。
直接貼代碼吧,寫得比較倉促,各位將就參考下即可:
#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()
- python通過shutil實現(xiàn)快速文件復(fù)制的方法
- python調(diào)用cmd復(fù)制文件代碼分享
- python批量復(fù)制圖片到另一個文件夾
- python實現(xiàn)文件分組復(fù)制到不同目錄的例子
- Python中調(diào)用PowerShell、遠(yuǎn)程執(zhí)行bat文件實例
- python使用paramiko實現(xiàn)遠(yuǎn)程拷貝文件的方法
- python3利用tcp實現(xiàn)文件夾遠(yuǎn)程傳輸
- python使用Paramiko模塊實現(xiàn)遠(yuǎn)程文件拷貝
- Python通過paramiko遠(yuǎn)程下載Linux服務(wù)器上的文件實例
- python定時復(fù)制遠(yuǎn)程文件夾中所有文件
相關(guān)文章
詳解Python如何實現(xiàn)發(fā)送帶附件的電子郵件
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。本文將利用SMTP實現(xiàn)發(fā)送帶附件的電子郵件,感興趣的可以了解一下2023-04-04在pycharm中執(zhí)行 os.makedirs 提示用戶名或密碼不正確的問題及解決方法
這篇文章主要介紹了在pycharm中執(zhí)行 os.makedirs 提示用戶名或密碼不正確的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01