python實現 遞迴刪除檔案並儲存刪除記錄

2021-08-13 20:14:17 字數 1975 閱讀 8509

此指令碼用於刪除指定目錄及子目錄下符合刪除規則的檔案,並將刪除的檔案記錄到指定目錄下的指定檔案,便於檢視刪除記錄。
此指令碼刪除的檔案,不會進入**站,將被直接徹底刪除,請謹慎操作!!!
1. 安裝python環境

環境要求python2.7

2. 編輯檔案delfile.py,只需修改以下三個引數

2.1 修改 del_path:刪除檔案的目標目錄,支援絕對路徑和相對路徑,建議用絕對路徑

2.2 修改 del_file_format:刪除檔案的格式,以什麼結尾。 例如: ".txt",將會刪除目標目錄下所有以.txt結尾的檔案

2.3 修改 filename:刪除的檔名寫入的檔案, 支援絕對路徑和相對路徑,建議用絕對路徑

2.4 修改後儲存檔案

python delfile.py

4. 螢幕輸入「delete the files successfully!」,說明刪除檔案成功。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import os

import time

defdel_files

(del_path, del_file_format):

del_file_list =

for root , dirs, files in os.walk(del_path):

for name in files:

for file_format in del_file_format:

if name.endswith(file_format):

now = time.strftime("%y-%m-%d %h:%m:%s")

os.remove(os.path.join(root, name))

del_file = os.path.join(root, name)

del_file = "[ " + now + " ]" + " [ delete ] " + del_file

return del_file_list

defwrite_result

(filename, del_file_list):

fopen = open(filename, 'a')

for temp in del_file_list:

fopen.write(temp+'\n')

fopen.close()

if __name__ == "__main__":

# 刪除檔案的目標目錄,支援絕對路徑和相對路徑,建議用絕對路徑

del_path = 'f:/delfile/testfile'

# 這是絕對路徑

# del_path = './testfile' # 這是相對路徑

# 刪除檔案的格式,以什麼結尾。

# 例如: ".txt",將會刪除目標目錄下所有以.txt結尾的檔案

del_file_format = ['.rvt', '.txt']

# 刪除的檔名寫入的檔案, 支援絕對路徑和相對路徑,建議用絕對路徑

filename = 'f:/delfile/del_file.log'

# 這是絕對路徑

# filename = './del_file_log.log' # 這是相對路徑

# 刪除檔案

del_file_list = del_files(del_path, del_file_format)

# 記錄刪除的檔案

write_result(filename, del_file_list)

print

"delete the files successfully!"

print

"check the deletion details, path :" + filename

linux 遞迴找到指定檔案並刪除

檔案位址為 sample resample 假設resample 下有多個資料夾含有名為 testlog.txt 的檔案,需要找到該指定檔案並全部刪除 cd sample find rmsample maxdepth 3 name textlog.txt xargs rm rf maxdepth 3...

python 遞迴刪除檔案 目錄

python 遞迴刪除檔案 目錄本文講述了python實現刪除檔案與目錄的方法。具體實現方法如下 一 刪除檔案 os.remove path 刪除檔案 path.如果path是乙個目錄,丟擲 oserror錯誤。如果要刪除目錄,請使用rmdir remove 同 unlink 的功能是一樣的 my ...

遞迴刪除資料夾 python

遞迴刪除資料夾 def myrmdir dirpath 思路 先將資料夾裡面所有的檔案刪除掉,如果是空資料夾,刪除之,遍歷這個資料夾,得到資料夾下面所有的檔案 filename list os.listdir dirpath print filename list 遍歷這個列表,判斷該元素是檔案還是...