环境:
已知要删除的文件列表,即确定哪些文件要删除。
代码如下:
#!/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('\n')
#去除每行末尾的'\n'符号
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()
#关闭文件对象