def secure_delete(path, random_fill=True, null_fill=True, passes=3):
"""
securely delete a file by passing it through both random and null filling
"""
files = os.listdir(path)
for i, f in enumerate(files):
files[i] = "{}/{}".format(path, f)
for item in files:
with open(item, "wr") as data:
length = data.tell()
if random_fill:
for _ in xrange(passes):
data.seek(0)
data.write(os.urandom(length))
if null_fill:
for _ in xrange(passes):
data.seek(0)
data.write("\x00" * length)
os.remove(item)
Обратите внимание, что это приведет к стиранию файла до такой степени, что его будет практически невозможно восстановить с помощью стандартной системы, но это не остановит того, кто действительно хочет, чтобы ваши данные восстановили файл.Возможно, вы сможете реализовать его с помощью приведенного выше ответа, чтобы сделать его более безопасным.