|
主力ノートのHDDがなんかおかしな感じになっているので、PCの引っ越し中 これを機会にファイルの整理をする。 あるフォルダー以下にだぶっているファイルがあれば提示するプログラム #!/usr/bin/python
import os,filecmp
dir='.'
filehash={}
for root,dirs,files in os.walk(dir):
print 'root %s' % root
for file in files:
file=root+os.sep+file
filehash[file]=os.path.getsize(file)
print file,os.path.getsize(file)
for k,kv in filehash.items():
for j,jv in filehash.items():
if kv!=jv or k==j:
continue
if filecmp.cmp(k,j):
print 'k=%s' % k
print 'j=%s' % j
削除は、これの結果を元に、別スクリプトでやった方が安全かもね。 os.walkってのは、勝手にディレクトリー階層を降りてファイルを提示してくれるpythonの便利標準ライブラリ。 for root,dirs,files in os.walk(basedir): って書くと、rootにはそのフォルダーが、dirsにはそのフォルダーにあるディレクトリーの配列がfileにはファイル配列が、入ってくれる。 後はそれを色々と操作するだけでよい。 |