Jam*_*mie 4 python multithreading checksum md5
我有一个python脚本,递归地遍历指定的目录,并校验它找到的每个文件.然后它会写一个日志文件,列出所有文件路径及其md5校验和.
顺序地,这需要很长时间才能获得50,000个文件,每个文件15 MB.但是,我的计算机拥有的资源比实际使用的资源多得多.如何调整我的方法以便脚本使用更多资源来更快地执行?
例如,我可以将文件列表拆分为三分之一并为每个运行一个线程,给我一个3倍的运行时间吗?
我对线程不太满意,我希望有人不介意为我的案例鞭打和示例.
这是我的顺序md5循环的代码:
for (root, dirs, files) in os.walk(root_path):
for filename in files:
file_path = root + "/" + filename
md5_pairs.append([file_path, md5file(file_path, 128)])
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
对于这种工作,我认为multiprocessing.Pool会给你更少的惊喜 - 请查看http://docs.python.org/library/multiprocessing.html上的示例和文档