在Python開發中,我們經常需要對文件和目錄進行操作。Python標準庫中提供了很多處理文件和目錄的模塊,其中import shutil是其中的一個常用模塊。
一、複製文件和目錄
import shutil
# 複製文件
shutil.copy("source_file_path", "target_file_path")
# 複製目錄
shutil.copytree("source_dir_path", "target_dir_path")
使用shutil.copy()方法,可以將一個文件從源路徑複製到目標路徑。使用shutil.copytree()方法,可以複製整個目錄(包括目錄內的所有文件和子目錄)。如果目標路徑已存在,會拋出異常。
複製文件和目錄實例:
import shutil
# 複製文件
shutil.copy("test.txt", "test_copy.txt")
# 複製目錄
shutil.copytree("test_dir", "test_dir_copy")
二、移動文件和目錄
import shutil
# 移動文件
shutil.move("source_file_path", "target_file_path")
# 移動目錄
shutil.move("source_dir_path", "target_dir_path")
使用shutil.move()方法,可以將一個文件或目錄從源路徑移動到目標路徑。
移動文件和目錄實例:
import shutil
# 移動文件
shutil.move("test.txt", "test_dir/test.txt")
# 移動目錄
shutil.move("test_dir", "test_move_dir")
三、刪除文件和目錄
import os
import shutil
# 刪除文件
os.remove("file_path")
# 刪除空目錄
os.rmdir("dir_path")
# 刪除目錄(包括目錄內的所有文件和子目錄)
shutil.rmtree("dir_path")
使用os.remove()方法,可以刪除一個文件。使用os.rmdir()方法,可以刪除一個空目錄。使用shutil.rmtree()方法,可以刪除整個目錄(包括目錄內的所有文件和子目錄)。
刪除文件和目錄實例:
import os
import shutil
# 刪除文件
os.remove("test_copy.txt")
# 刪除空目錄
os.rmdir("test_dir_copy")
# 刪除目錄(包括目錄內的所有文件和子目錄)
shutil.rmtree("test_move_dir")
四、其他常用方法
在使用import shutil模塊時,還可以使用一些其他的常用方法。
1. 壓縮文件和目錄
import shutil
# 壓縮文件
shutil.make_archive("archive_name", "format", "root_dir")
# 壓縮目錄
shutil.make_archive("archive_name", "format", "root_dir")
# format可選參數:zip, tar, gztar, bztar, xztar
使用shutil.make_archive()方法,可以將指定的文件或目錄壓縮到指定的壓縮文件中。
文件和目錄壓縮實例:
import shutil
# 壓縮文件
shutil.make_archive("test_archive", "zip", ".", "test.txt")
# 壓縮目錄
shutil.make_archive("test_dir_archive", "zip", ".", "test_dir")
2. 解壓縮文件和目錄
import shutil
# 解壓縮
shutil.unpack_archive("archive_name", "extract_dir", "format")
# format可選參數:zip, tar, gztar, bztar, xztar
使用shutil.unpack_archive()方法,可以將指定的壓縮文件解壓縮到指定的解壓縮目錄中。
文件和目錄解壓實例:
import shutil
# 解壓縮文件
shutil.unpack_archive("test_archive.zip", ".", "zip")
# 解壓縮目錄
shutil.unpack_archive("test_dir_archive.zip", ".", "zip")
3. 修改文件和目錄的權限
import os
import stat
# 修改文件權限
os.chmod("file_path", stat.S_IRWXU)
# 修改目錄權限
os.chmod("dir_path", stat.S_IRWXU)
使用os.chmod()方法,可以修改指定的文件或目錄的權限。
修改文件和目錄權限實例:
import os
import stat
# 修改文件權限
os.chmod("test.txt", stat.S_IRWXU)
# 修改目錄權限
os.chmod("test_dir", stat.S_IRWXU)
4. 獲取文件和目錄的元信息
import os
import shutil
# 獲取文件元信息
print(os.stat("file_path"))
# 獲取目錄元信息
print(shutil.disk_usage("dir_path"))
使用os.stat()方法,可以獲取指定文件的元信息。使用shutil.disk_usage()方法,可以獲取指定目錄的元信息(包括總空間、已用空間、可用空間)。
獲取文件和目錄元信息實例:
import os
import shutil
# 獲取文件元信息
print(os.stat("test.txt"))
# 獲取目錄元信息
print(shutil.disk_usage("."))
總結
通過以上詳細的介紹,相信大家對import shutil模塊在文件和目錄操作方面的處理方式有了更深入和全面的了解。在實際開發過程中,可以通過適當運用該模塊中的方法,提高文件和目錄操作的效率和質量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180412.html
微信掃一掃
支付寶掃一掃