復制檔案
無非就是一個讀取檔案和寫入檔案的操作
def copy_file(src_path,target_path):
# 注意檔案可能是視頻,圖片,所以用rb和wb操作較好
# 如果檔案過大建議使用ab進行寫入,一次讀取1024個位元組
fp1 = open(src_path, 'rb')
# fp2 = open(file_path2,'wb')
fp2 = open(target_path, 'ab')
while True:
content = fp1.read(1024)
if not content:
break
fp2.write(content)
# content = fp1.read()
# fp2.write(content)
復制目錄
注意:使用自己的目錄路徑(這里我就直接使用上面的復制檔案的函式了)
# 遍歷sourcePath下的所有子目錄和子檔案
# 1, 如果是子檔案,則復制檔案
# 2, 如果是子目錄,在目標目錄創建相同的目錄名稱,遞回呼叫
# 注意:子檔案或子目錄的絕對路徑
import os
def copy_file(src_path,target_path):
# 注意檔案可能是視頻,圖片,所以用rb和wb操作較好
# 如果檔案過大建議使用ab進行寫入,一次讀取1024個位元組
fp1 = open(src_path, 'rb')
# fp2 = open(file_path2,'wb')
fp2 = open(target_path, 'ab')
while True:
content = fp1.read(1024)
if not content:
break
fp2.write(content)
# content = fp1.read()
# fp2.write(content)
def copyPath(sourcePath, targetPath):
# 判斷原目錄是否存在
if not os.path.exists(sourcePath):
return "目錄不存在"
# 判斷目標目錄是否存在,如果不存在則創建
if not os.path.exists(targetPath):
os.mkdir(targetPath)
list_dir = os.listdir(sourcePath)
for dir in list_dir:
file_path1 = os.path.join(sourcePath,dir)
file_path2 = os.path.join(targetPath,dir)
if os.path.isfile(file_path1):
copy_file(file_path1,file_path2)
else:
# 是檔案夾就進行遞回
copyPath(file_path1,file_path2)
if __name__ == "__main__":
# 將sourcePath目錄的所有內容拷貝到targetPath目錄下
sourcePath = r"E:\CloudMusic\2101\1Python基礎\第03周\day13"
targetPath = r"E:\CloudMusic\2101\1Python基礎\第03周\day13-1"
copyPath(sourcePath, targetPath)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254077.html
標籤:python
