使用Python批量刪除檔案列表
環境:
已知要刪除的檔案列表,即確定哪些檔案要刪除。
程式碼如下:
#!/usr/bin/env python
#coding=utf-8
#目的:本程式主要為刪除給定的檔案列表
import os
import shutil
#引入模組,os為包含普遍的作業系統功能;shutil為檔案操作工具的模組
count_not_exist = 0
count_exist_but_dir = 0
count_del_file = 0
backup_dir = `/backup_file/`
pre_dir_of_file = `/var/www/virtualhost/admin.51auto.cn/`
#定義所使用的變數
file_object = open(`/tmp/delete.txt`)
#開啟檔案
for line in file_object.readlines():
#讀取檔案
line = line.rstrip(`
`)
#去除每行末尾的`
`符號
if os.path.exists(line):
#判定line檔案或目錄在系統上存在
if os.path.isfile(line):
#判定line為檔案
new_line = line.replace(pre_dir_of_file,backup_dir)
#替換line中指定目錄部分
file_path = os.path.dirname(new_line)
#取出new_line檔案的目錄結構
if not os.path.exists(file_path):
#判定new_line檔案的目錄結構是否存在
os.makedirs(file_path)
#其目錄不存,建立目錄
print file_path + ` :The File Path Create Succeed!`
shutil.copy2(line,file_path)
#將檔案備份到指定的備份目錄
os.remove(line)
#刪除檔案
count_del_file += 1
else:
print line + ” :It`s a directory.”
count_exist_but_dir += 1
else:
print line + ` :The Object is not exists.`
count_not_exist += 1
print str(count_not_exist) + `:The number of objects not exist on the system.`
print str(count_exist_but_dir) + ” :The number of objects exist,but it`s directory.”
print str(count_del_file) + ` :The number of objects deleted in right.`
#列印統計變數的值
file_object.close()
#關閉檔案物件