为什么下面的代码删除文件后,还可用 360 软件恢复回来(已亲测)?难道要用 mmap 模块吗?
#--------------------------------------------------
import tkinter.filedialog as tf
def selecFile(title='多文件选择',fmt='.'):
'''(多个)文件选择(对话框) 返元组 取消时返空'''
return tf.askopenfilenames(title=title,filetypes=[('all files',fmt)])
def myRemoveFiles():
'''彻底删除文件'''
paths = selecFile(title='选择要删除的文件') #
if paths:
if tm.askokcancel('重要提示!','确定永久删除吗?'):
fn = '_Test{}_.tmp'
_dir = os.path.dirname(paths[0])
for i, _file in enumerate(paths):
try:
fsize = os.path.getsize(_file)
with open(_file,'rb+') as f:
for _ in range(3):
f.seek(0,0)
f.write(os.urandom(fsize))
file = os.path.abspath(os.path.join(_dir,fn.format(i)))
os.rename(_file,file)
os.remove(file)
print(_file,"OK")
except Exception as err:
print(_file,str(err))