[[プログラム周り]]

主力ノートの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にはファイル配列が、入ってくれる。
後はそれを色々と操作するだけでよい。

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS