我编写了一个 python 脚本,它监视新子目录的目录,然后循环作用于每个子目录。我们有一个创建这些子目录的外部进程。每个子目录中都有一个文本文件和一些图像。每个图像的文本文件中有一个记录(行)。对于每个子目录,我的脚本扫描文本文件,然后调用一些外部程序,一个检测空白图像(自定义 exe),然后调用“mogrify”(ImageMagick 的一部分)调整图像大小并转换图像,最后调用 7 -zip 将所有转换后的图像和文本文件打包到一个存档中。
该脚本运行良好,但目前是连续的。一次循环遍历每个子目录。在我看来,这将是进行多处理的好机会,因为这是在双 CPU 机器(总共 8 个内核)上运行的。
给定子目录的处理独立于所有其他子目录……它们是自包含的。
目前,我只是使用调用 os.listdir() 创建子目录列表,然后循环遍历该列表。我想我可以将所有每个子目录的代码(转换等)移动到一个单独的函数中,然后以某种方式创建一个单独的进程来处理每个子目录。由于我对 Python 有点陌生,因此将不胜感激有关如何处理这种多处理的一些建议。我在运行 Python 2.6 的 Vista x64 上。