プログラム周り

主力ノートの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
Last-modified: 2015-02-01 (日) 14:38:24 (3369d)