一、背景介紹
在日常開發中,我們經常需要清空某個目錄下的所有文件,如果手工刪除將會非常費時費力。本篇文章將通過Python代碼來實現刪除目錄下的所有文件的操作。
二、Python實現刪除目錄下的所有文件
Python內置的os模塊可以輕鬆實現目錄操作。其中,os.listdir()方法可以返回指定目錄下所有文件和目錄的名稱列表,而os.remove()方法可以實現刪除指定文件的操作,因此結合使用這兩個方法就可以實現Python刪除目錄下的所有文件的操作。
import os
def delete_files_in_dir(dir_path):
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if os.path.isfile(file_path):
os.remove(file_path)
else:
delete_files_in_dir(file_path)
print("Successfully deleted all files under directory:", dir_path)
代碼解讀:
- 定義了一個函數delete_files_in_dir(dir_path),它接收一個參數dir_path,表示待刪除的目錄路徑。
- 使用os.listdir()方法獲取指定目錄下的所有文件和目錄的名稱列表。
- 遍歷上一步中獲取到的文件和目錄名稱列表:
- 如果是文件,則使用os.remove()方法刪除文件。
- 如果是目錄,則遞歸調用delete_files_in_dir()方法,刪除目錄下的文件。
- 最後輸出刪除成功的提示信息。
三、代碼示例
我們來編寫一個測試程序,在本地創建一個test_folder目錄,目錄下放置3個文件和1個子目錄,並調用delete_files_in_dir()函數刪除目錄下的所有文件。
# 創建待刪除的文件夾
if not os.path.exists("./test_folder"):
os.mkdir("./test_folder")
# 在文件夾下添加文件和子目錄
with open("./test_folder/file1.txt", "w") as f:
f.write("Test 1")
with open("./test_folder/file2.txt", "w") as f:
f.write("Test 2")
with open("./test_folder/file3.txt", "w") as f:
f.write("Test 3")
if not os.path.exists("./test_folder/sub_folder"):
os.mkdir("./test_folder/sub_folder")
with open("./test_folder/sub_folder/file4.txt", "w") as f:
f.write("Test 4")
# 調用函數刪除目錄下的所有文件
delete_files_in_dir("./test_folder")
代碼解讀:
- 首先使用os模塊的os.path.exists()方法判斷當前路徑下是否存在test_folder文件夾,如果不存在則使用os.mkdir()方法創建該目錄。
- 使用with語句創建3個txt文件,以及在test_folder下創建了一個sub_folder目錄,並在子目錄中創建了另一個文件。
- 調用delete_files_in_dir()函數刪除test_folder下的所有文件。
四、小結
本篇文章介紹了使用Python代碼實現刪除目錄下的所有文件的方法。通過os模塊的listdir()方法和remove()方法結合,我們可以快速地刪除指定目錄下的所有文件。當然,刪除文件時需要謹慎,避免誤刪造成不必要的損失。
原創文章,作者:BAJW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137788.html