擅长:python、mysql、java
<p>我建议您不要递归地解决这个问题,而是使用<code>os.walk()</code>遍历目录结构。以下代码可能是<code>print_files</code>函数的主体。在</p>
<pre><code>file_directory = os.path.abspath(file_directory)
paths_to_hash = []
for root, dirs, filenames in os.walk(file_directory, topdown=False):
for i, dir in enumerate(dirs):
for filename in filenames[i]:
if filenames[:2] == '10':
paths_to_hash += [os.path.abspath('{0}/{1}/{2}'.format(root, dir, filename)]
for path in paths_to_hash:
hash = hashlib.md5(open(path, 'rb').read()).digest())
print 'hash: {0} for path: {1}'.format(hash, path)
</code></pre>