Python利用遞迴實現檔案的複製

2021-08-14 10:55:05 字數 1589 閱讀 9917

import os

import time

from collections import deque

"""利用遞迴實現目錄的遍歷

@para sourcepath:

原檔案目錄

@para targetpath:

目標檔案目錄

"""def

getdirandcopyfile(sourcepath,targetpath):

if not os.path.exists(sourcepath):

return

if not os.path.exists(targetpath):

os.makedirs(targetpath)

#遍歷資料夾

for filename in os.listdir(sourcepath):

#拼接原檔案或者資料夾的絕對路徑

absourcepath = os.path.join(sourcepath, filename)

#拼接目標檔案或者檔案加的絕對路徑

abstargetpath = os.path.join(targetpath, filename)

#判斷原檔案的絕對路徑是目錄還是檔案

if os.path.isdir(absourcepath):

#是目錄就建立相應的目標目錄

os.makedirs(abstargetpath)

#遞迴呼叫

getdirandcopyfile()

函式getdirandcopyfile(absourcepath,abstargetpath)

#是檔案就進行複製

if os.path.isfile(absourcepath):

rbf = open(absourcepath,

"rb")

wbf = open(abstargetpath,

"wb")

while true:

content = rbf.readline(1024*1024)

if len(content)==0:

break

wbf.write(content)

wbf.flush()

rbf.close()

wbf.close()

if __name__ == '__main__':

starttime = time.clock()

sourcepath = r"h:\

培訓資料

"targetpath = r"h:\

培訓資料_備份

"getdirandcopyfile(sourcepath,targetpath)

#時間是用來計算複製總共消耗了多少時間

endtime = time.clock()

time_mi = endtime // 60

time_s = endtime // 1 % 60

time_ms = ((endtime * 100) // 1) % 100

print("

總用時:%02.0f:%02.0f:%2.0f" % (time_mi, time_s, time_ms))

Python利用遞迴實現檔案的複製方法

如下所示 import os import time from collections import deque 利用遞迴實現目錄的遍歷 p程式設計客棧ara sourcepath 原檔案目錄 para targetpath 目標檔案目錄 def getdirandcopyfile sourcepa...

python利用棧實現迷宮(非遞迴)

1 建立迷宮地圖,可以用二維陣列表示,01分別表示牆和路 2 設定迷宮的起點和終點 3 將起點push進儲存路徑的棧。從棧頂元素開始,搜尋其上下左右格仔,如果可達,則將搜尋到的可達的格仔push到當前路徑中 並標記該格仔已經遍歷過 如果乙個格仔周圍的四個格仔均不可走,則將該格仔從路徑中pop 並標記...

利用python和遞迴實現趕鴨子問題

發現網上沒幾個用python實現這個問題的回答 至少我沒找到,可能是我搜尋功力不行 所以我就寫出來給大夥瞧瞧,不足之處請多多指教!乙個人趕著鴨子去每個村莊賣,每經過乙個村子賣去所趕鴨子的一半又乙隻。這樣他經過了七個村子後還剩兩隻鴨子,問他出發時共趕多少只鴨子?經過每個村子賣出多少只鴨子?要求 1 使...