--- /dev/null
+#!/usr/bin/env python\r
+# -*- coding: utf-8 -*-\r
+ \r
+import sys\r
+import os\r
+import os.path\r
+import re\r
+import codecs\r
+import hashlib\r
+import dircache\r
+\r
+sys.stdin = codecs.getreader('utf_8')(sys.stdin)\r
+sys.stdout = codecs.getwriter('utf_8')(sys.stdout)\r
+\r
+\r
+usage = "%s directory1 [directory2 ...]" % sys.argv[0]\r
+\r
+if len(sys.argv) < 2:\r
+ sys.exit(usage)\r
+\r
+for index in range(1, len(sys.argv)):\r
+ dir = sys.argv[index]\r
+ if not os.path.isdir(dir):\r
+ print >> sys.stderr, "%s is not a directory. skip.\n" % dir\r
+ continue\r
+\r
+ for target in dircache.listdir(dir):\r
+ tpath = os.path.join(dir, target)\r
+ if not os.path.isfile(tpath):\r
+ print >> sys.stderr, "%s is not a file. skip.\n" % tpath\r
+ continue\r
+\r
+ f = open( tpath, "rb")\r
+ buf = f.read()\r
+ f.close()\r
+ m = hashlib.md5()\r
+ m.update(buf)\r
+ print m.hexdigest() + "\t" + target\r
+\r
+\r
+\r