Python shutil 模組學習筆記

2022-08-28 19:54:09 字數 2238 閱讀 2120

chutil.copy(source, destination)

shutil.copy() 函式實現檔案複製功能,將 source 檔案複製到 destination 資料夾中,兩個引數都是字串格式。如果 destination 是乙個檔名稱,那麼它會被用來當作複製後的檔名稱,即等於 複製 + 重新命名。舉例如下:

>> import shutil

>> import os

>> os.chdir('c:\')

>> shutil.copy('c:\spam.txt', 'c:\delicious')

'c:\delicious\spam.txt'

>> shutil.copy('eggs.txt', 'c:\delicious\eggs2.txt')

'c:\delicious\eggs2.txt'

如**所示,該函式的返回值是複製成功後的字串格式的檔案路徑

shutil.copytree(source, destination)

shutil.copytree()函式複製整個資料夾,將 source 資料夾中的所有內容複製到 destination 中,包括 source 裡面的檔案、子資料夾都會被複製過去。兩個引數都是字串格式。

注意,如果 destination 資料夾已經存在,該操作並返回乙個 fileexistserror 錯誤,提示檔案已存在。即表示,如果執行了該函式,程式會自動建立乙個新資料夾(destination引數)並將 source 資料夾中的內容複製過去

舉例如下:

>> import shutil

>> import os

>> os.chdir('c:\')

>> shutil.copytree('c:\bacon', 'c:\bacon_backup')

'c:\bacon_backup'

shutil.move(source, destination)

shutil.move() 函式會將 source 檔案或資料夾移動到 destination 中。返回值是移動後檔案的絕對路徑字串。

如果 destination 指向乙個資料夾,那麼 source 檔案將被移動到 destination 中,並且保持其原有名字。例如:

>> import shutil

>> shutil.move('c:\bacon.txt', 'c:\eggs')

'c:\eggs\bacon.txt'

>> shutil.move('c:\bacon.txt', 'c:\eggs\new_bacon.txt')

'c:\eggs\new_bacon.txt'

>> shutil.move('c:\bacon.txt', 'c:\eggs')

'c:\eggs'

>> shutil.move('spam.txt', 'c:\does_not_exist\eggs\ham')

traceback (most recent call last):

file "d:\python36\lib\shutil.py", line 538, in move

os.rename(src, real_dst)

filenotfounderror: [winerror 3] 系統找不到指定的路徑。: 'test.txt' -> 'c:\does_not_exist\eggs\ham'

during handling of the above exception, another exception occurred:

traceback (most recent call last):

file "", line 1, in 

永久性刪除檔案和資料夾

這裡有涉及到 os 模組中的相關函式

os.unlink(path) 會刪除 path 路徑檔案

os.rmdir(path) 會刪除 path 路徑資料夾,但是這個資料夾必須是空的,不包含任何檔案或子資料夾

shutil.rmtree(path) 會刪除 path 路徑資料夾,並且在這個資料夾裡面的所有檔案和子資料夾都會被刪除

利用函式執行刪除操作時,應該倍加謹慎,因為如果想要刪除 txt 檔案,而不小心寫到了 rxt ,那麼將會給自己帶來麻煩

此時,我們可以利用字串的 endswith 屬性對檔案格式進行檢查與篩選

Python shutil模組用法

1.shutil.copyfile oldfile,newfile 複製檔案1到檔案2中,如txt檔案。注意 若檔案2不存在,則直接建立檔案2,且檔案2中內容和檔案1內容相同。若檔案2存在,則檔案2中原有內容會被清除掉。語法 shutil.copyfile oldfile,newfile impor...

shutil模組 python shutil模組

shutil.copyfile src,dst 從源src複製到dst中去。當然前提是目標位址是具備可寫許可權。丟擲的異常資訊為ioexception.如果當前的dst已存在的話就會被覆蓋掉 shutil.move src,dst 移動檔案或重新命名 shutil.copymode src,dst ...

詳解Python shutil模組

import shutil 高階的檔案,資料夾,壓縮包的處理模組,也主要用於檔案的拷貝 shutil.copyfileobj fsrc,fdst length 將檔案的內容拷貝到另乙個檔案 可以指定length長度進行拷貝 import shutil shutil.copyfilewww.cppcn...