如何在Python中安全擦除文件/目录?

Mar*_*ein 5 python security file

有没有提供某种方式可以进行基本“安全”删除的模块。像Linux实用程序“ wipe”,例如

import securitystuff

securitystuff.wipe( filename )
Run Code Online (Sandbox Code Playgroud)

我需要保护公司的源代码,这些源代码现在不应该再容易获取了。

PS是的,我知道“擦除”并不完美,例如在日志文件系统上。但是安全需求并不高。

Anu*_*yal 5

标准库中没有这样的函数,并且用随机字节覆盖文件的每个字节的简单实现并不难,例如

 f = open(path, "wb")
 f.write("*"*os.path.getsize(path))
 f.close()
 os.unlink(path)
Run Code Online (Sandbox Code Playgroud)

但正如线程http://mail.python.org/pipermail/python-list/2004-September/899488.html中所建议的,由于多种原因,这并不能保证擦除,例如磁盘缓存、磁盘扇区的重新映射等

因此,最简单的方法不是实现自己的擦除,而是linux wipe从 python 调用。

替代选项是使用srm