1. 程式人生 > 實用技巧 >shutil高階檔案操作庫

shutil高階檔案操作庫

#複製檔案
shutil.copyfile(‘oldfile’,’newfile’) #oldfile和newfile都只能是檔案
shutil.copy(‘oldfile’,’newfile’) #oldfile只能是檔案,newfile可以是檔案也可以是目標目錄

#複製資料夾
shutil.copytree(‘olddir’,’newdir’) #olddir和newdir都只能是目錄,且newdir必須不存在移動檔案(目錄)
shutil.move(‘oldname’,’newname’)

#刪除目錄
os.rmdir(‘dir’)#只能刪除空目錄
shutil.rmtree(‘dir’)#
空目錄,有內容的目錄都可以刪

import shutil # 將檔案內容拷貝到另一個檔案中 shutil.copyfileobj(open('old.txt', 'r'), open('new.txt', 'w')) # 拷貝檔案 shutil.copyfile('old.txt', 'old1.txt') # 僅拷貝許可權。內容、組、使用者均不變 shutil.copymode('old.txt', 'old1.txt') # 複製許可權、最後訪問時間、最後修改時間 shutil.copystat('old.txt', 'old1.txt') # 複製一個檔案到一個檔案或一個目錄 shutil.copy('old.txt', 'old2.txt') # 在copy上的基礎上再複製檔案最後訪問時間與修改時間也複製過來了 shutil.copy2('old.txt', 'old2.txt') # 把olddir拷貝一份newdir,如果第3個引數是True,則複製目錄時將保持資料夾下的符號連線,如果第3個引數是False, 則將在複製的目錄下生成物理副本來替代符號連線 shutil.copytree('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb') # 移動目錄或檔案 shutil.move('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb') # 把aaa目錄移動到 bbb目錄下 # 刪除一個目錄 shutil.rmtree('C:/Users/xiaoxinsoso/Desktop/bbb') # 刪除bbb目錄,但是注意這個有時候會報錯,如果需要忽略報錯ignore_errors=True