- 追加された行はこの色です。
- 削除された行はこの色です。
- ファイルの比較 へ行く。
[[プログラム周り]]
主力ノートの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にはファイル配列が、入ってくれる。
後はそれを色々と操作するだけでよい。