日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 复制文件夹内容 并结构一致_Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法...

發布時間:2023/12/1 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 复制文件夹内容 并结构一致_Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Python比較文件夾比另一同名文件夾多出的文件并復制出來的方法。分享給大家供大家參考。具體如下:

這個東東本來是做來給公司數據同步用的:新服務器還沒正式啟用,舊的服務器還在使用,每天都有大量圖片傳到舊服務器上面,為了避免備份全部圖片,所以寫了這么個工具。

1. 運行效果如下圖所示:

2. Python代碼如下:

復制代碼 代碼如下:# coding=gbk

'''

Created on 2011-1-7

@author: HH

'''

import os,ConfigParser

'''

遞歸列出某目錄下的文件,放入List中

'''

def listDir (fileList,path):

files=os.listdir(path)

for i in? files:

file_path=path+"\\"+i

if os.path.isfile(file_path):

fileList.append(file_path)

for i in files:

file_path=path+"\\"+i

if os.path.isdir(file_path):

#fileList.append(file_path)

listDir(fileList,file_path)

return fileList

'''

將List中內容寫入文件

'''

def writeListToFile(list,path):

strs="\n".join(list)

f=open(path,'wb')

f.write(strs)

f.close()

'''

讀入文件內容并放入List中

'''

def readFileToList(path):

lists=[]

f=open(path,'rb')

lines=f.readlines()

for line in lines:

lists.append(line.strip())

f.close()

return lists

'''

比較文件--以Set方式

'''

def compList(list1,list2):

return list(set(list1)-set(list2))

'''

復制List中文件到指定位置

'''

def copyFiles(fileList,targetDir):

for file in fileList:

targetPath=os.path.join(targetDir,os.path.dirname(file))

targetFile=os.path.join(targetDir,file)

if not os.path.exists(targetPath):

os.makedirs(targetPath)

if not os.path.exists(targetFile) or (os.path.exists(targetFile)

and os.path.getsize(targetFile)!=os.path.getsize(file)):

print "正在復制文件:"+file

open(targetFile,'wb').write(open(file,'rb').read())

else:

print "文件已存在,不復制!"

if __name__ == '__main__':

path=".svn"

#獲取源目錄

txtFile="1.txt"

#目錄結構輸出的目的文件

tdir="cpfile"

#復制到的目標目錄

cfFile="config.ini";

#配置文件文件名

fileList=[]

#讀取配置文件

if(os.path.exists(cfFile)):

cf=ConfigParser.ConfigParser()

cf.read(cfFile)

path=cf.get("main", "sourceDir")

txtFile=cf.get("main","txtFile")

tdir=cf.get("main","targetDir")

else:

print "配置文件不存在!"

raw_input("\n按 回車鍵 退出\n")

exit()

if(os.path.exists(txtFile)):

#如果導出的文件存在,就讀取后比較

list1=readFileToList(txtFile)

print "正在讀取文件列表……"

fileList=listDir (fileList,path)

print "正在比較文件……"

list_res=compList(fileList,list1)

if len(list_res)>0:

print "以下是原目錄中不存在的文件:\n"

print "\n".join(list_res)

print "\n共計文件數:"+str(len(list_res))+"\n"

if raw_input("\n是否復制文件?(y/n)")!='n':

copyFiles(list_res,tdir)

else:

print "沒有不相同的文件!"

else:

#如果導出的文件不存在,則導出文件

print "正在讀取文件列表……"

fileList=listDir (fileList,path)

writeListToFile(fileList,txtFile)

print "已保存到文件:"+txtFile

raw_input("\n按 回車鍵 退出\n")

3. 配置文件名:config.ini如下:

復制代碼 代碼如下:#配置文件名:config.ini

[main]

sourceDir=wwwroot

txtFile=1.txt

targetDir=cp

希望本文所述對大家的Python程序設計有所幫助。

小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

總結

以上是生活随笔為你收集整理的python 复制文件夹内容 并结构一致_Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。