2010-06-21 25 views
3

是否有任何模块提供某种基本的“安全”删除,就像Linux实用程序“擦除”一样,例如如何安全地擦除Python中的文件/目录?

import securitystuff 

securitystuff.wipe(filename) 

我需要保护公司的源代码,不应该很容易检索。

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

回答

3

有一个在标准库中无此功能和天真的实现,其与随机字节覆盖文件的每一个字节是不是太困难的事例如

f = open(path, "wb") 
f.write("*"*os.path.getsize(path)) 
f.close() 
os.unlink(path) 

但随着线程http://mail.python.org/pipermail/python-list/2004-September/899488.html建议这并不能保证抹的原因有很多,例如磁盘缓存,磁盘扇区等等等等的重映射

因此,而不是实现自己的最简单的擦拭将调用来自蟒蛇linux wipe

备选方案是使用srm

+0

谢谢你的SRM提示! – 2010-06-21 10:22:47