python之shutil模块
1、shutil模塊介紹
shutil(或稱為 shell 工具)模塊中包含一些函數,讓你在 Python 程序中復制、移動、改名和刪除文件。要使用 shutil 的函數,首先需要 import shutil。
2、方法
2.1、復制文件和文件夾
2.1.1、shutil.copy(source, destination)
將路徑 source 處的文件復制到路徑 destination處的文件夾(source 和 destination 都是字符串)。如果 destination 是一個文件名,它將作為被復制文件的新名字。該函數返回一個字符串,表示被復制文件的路徑。
import shutil shutil.copy("F:\\share\\python\\style.css", "F:\\share")輸出結果:
'F:\\share\\style.css'?
import shutil shutil.copy("data.sql", "F:\\share")輸出結果:
'F:\\share\\data.sql'?
2.1.2、shutil.copytree(source, destination)
將路徑 source 處的文件夾,包括它的所有文件和子文件夾,復制到路徑 destination 處的文件夾。 source 和destination 參數都是字符串。該函數返回一個字符串,是新復制的文件夾的路徑。
import shutil shutil.copytree("tornado", "F:\\share\\test")輸出結果:
'F:\\share\\test'??
2.2、文件和文件夾的移動與改名?
2.2.1、shutil.move(source, destination)
將路徑 source 處的文件夾移動到路徑destination,并返回新位置的絕對路徑的字符串。
import shutil shutil.move("F:\\share\\python\\func.txt", "F:\\share\\test")輸出結果:
'F:\\share\\test\\func.txt'?
2.3、永久刪除文件和文件夾
利用 os 模塊中的函數,可以刪除一個文件或一個空文件夾。但利用 shutil 模塊,可以刪除一個文件夾及其所有的內容。
2.3.1、os.unlink(path)
刪除 path 處的文件。
import osfor filename in os.listdir("F:\\share\\python"):if filename.endswith(".txt"):print(filename)os.unlink(filename)輸出結果:
new.txt?
2.3.2、os.rmdir(path)
刪除 path 處的文件夾。該文件夾必須為空,其中沒有任何文件和文件夾。
import os os.rmdir("F:\\share\\test")輸出結果:
--------------------------------------------------------------------------- OSError Traceback (most recent call last) <ipython-input-16-8c8f7b0cf6ca> in <module>()1 import os ----> 2 os.rmdir("F:\\share\\test")OSError: [WinError 145] 目錄不是空的。: 'F:\\share\\test'?
import os path = "F:\\share\\test\\hello" print(os.path.exists(path)) os.rmdir(path) print(os.path.exists(path))輸出結果:
True False?
2.3.3、shutil.rmtree(path)
刪除 path 處的文件夾,它包含的所有文件和文件夾都會被刪除。
import shutil path = "F:\\share\\test\\imges" print(os.path.exists(path)) shutil.rmtree(path) print(os.path.exists(path))輸出結果:
True False?
2.4、用 send2trash 模塊安全地刪除
  因為 Python 內建的 shutil.rmtree()函數不可恢復地刪除文件和文件夾,所以 用起來可能有危險。刪除文件和文件夾的更好方法,是使用第三方的 send2trash 模塊。你可以在終端窗口中運行 pip install send2trash,安裝該模塊(參見附錄 A,其中更詳細地解釋了如何安裝第三方模塊)。
利用 send2trash,比 Python 常規的刪除函數要安全得多,因為它會將文件夾和文件發送到計算機的垃圾箱或回收站,而不是永久刪除它們。如果因程序缺陷而用send2trash 刪除了某些你不想刪除的東西,稍后可以從垃圾箱恢復。
import send2trash path = "F:\\share\\test\\templates" print(os.path.exists(path)) send2trash.send2trash(path) print(os.path.exists(path))輸出結果:
True False查看垃圾箱:
?
轉載于:https://www.cnblogs.com/bad-robot/p/9734273.html
總結
以上是生活随笔為你收集整理的python之shutil模块的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Linux su切换用户后命令提示符变为
 - 下一篇: WebService系列(三)--创建自