天天看點

Python 檔案複制及目錄複制(遞歸)os-作業系統接口子產品目錄複制

os-作業系統接口子產品

該子產品提供了一些友善使用作業系統相關功能的函數。

目錄複制

檔案複制就是讀寫操作。

目錄複制就是周遊其中的所有檔案,但是存在檔案夾是複制不了的,這裡我們就需要使用到遞歸。

  1. 如果需要使用該子產品必需導入os
import os
           
  1. 我們先定義一個方法,用來進行檔案複制
def copyFile(f1,f2): # 傳入源位址、操作位址
		# rb以一個二進制的方式打開檔案,隻讀取
		# wb 以一個二進制方式打開檔案,隻寫入
		# 注意要加引号
	    rf1 = open(f1,"rb")  
	    wf2 = open(f2,"wb")
	    # 讀取檔案的全部内容,存入序列中
	    content = rf1.readlines()
	    # 将content 周遊出來
	    for i in content:
	        wf2.write(i)
	    # 記得關閉檔案
	    wf2.close()
	    rf1.close()
           
  1. 檔案夾複制方法。傳入源位址以及目的位址,使用os.listdir()方法周遊源位址f1底下的所有檔案,并存入a中,使用os.mkdir()方法建立檔案夾,join方法将f1位址與周遊出來的檔案名進行拼接,file2同理。在進行判斷如果源檔案是檔案的話進行直接複制。如果為檔案夾的話,調用本身,周遊檔案夾中所有的檔案資訊,進行複制。
# 目錄複制函數
def copyDir(f1,f2):
    a=os.listdir(f1)
    os.mkdir(f2)
    for i in a:
        file1 = os.path.join(f1,i)
        file2 = os.path.join(f2,i)
        if os.path.isfile(file1):
            copyFile(file1 , file2)

        # 遞歸寫法 調用自己本身
        if os.path.isdir(file1):
            copyDir(file1,file2)

           
  1. 最後。
# 第一個參數是源位址,第二個為目的位址
copyDir('./file','./file1')
           
  1. 測試結果
    Python 檔案複制及目錄複制(遞歸)os-作業系統接口子產品目錄複制