Ubuntu下有一个 fdupes 程序可以用来打印当前目录下有多少文件是重复的。因为是二进制程序,所以效率上更高。
而用Python实现的,效率就很低了,同样的目录,fdupes只用了2秒的样子,而Python程序就用了15s,大约7-8倍速度差距。
所以这个代码仅仅只是一个演示罢了。
代码参考《Python for Unix and Linux System Administration》一书。
File /Users/wgzhao/Sites/blog.wgzhao.com/source/downloads/code/dirtory could not be found
代码运行类似如下:
$ fdupes.py Dropbox/
....
Dropbox/Public/rhce-ts-9.0-1.2.noarch.rpm
Dropbox/Public/Linux/rhce-ts-9.0-1.2.noarch.rpm
Dropbox/repos/bolebi/hooks/pre-revprop-change.tmpl
Dropbox/repos/lshc/hooks/pre-revprop-change.tmpl
....
Dropbox/Public/libflashplayer.so
Dropbox/Public/Linux/libflashplayer.so