os-作業系統接口子產品
該子產品提供了一些友善使用作業系統相關功能的函數。
目錄複制
檔案複制就是讀寫操作。
目錄複制就是周遊其中的所有檔案,但是存在檔案夾是複制不了的,這裡我們就需要使用到遞歸。
- 如果需要使用該子產品必需導入os
import os
- 我們先定義一個方法,用來進行檔案複制
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()
- 檔案夾複制方法。傳入源位址以及目的位址,使用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)
- 最後。
# 第一個參數是源位址,第二個為目的位址
copyDir('./file','./file1')
- 測試結果