如何在 python 文件处理中选择多处理和多任务处理?

How to choose between multiprocessing and multitasking in python for file process?

我查看了与此主题相关的其他 StackExchange 线程,但似乎我需要进一步的帮助才能理解。

请看下面的场景?并说明要使用的方法和原因?

我已经编写了 Python 代码,它加载文件夹并提取 file.txt 然后调用函数“File_Processing”来处理单个文件,然后保存绘图绘制 x 和 y。因此,每 100 个文件需要 20 分钟。我有几个文件夹,每个文件夹包含 3000 个文件。

现在我的问题是要使用哪种方法,多处理还是多任务,为什么?

查看multiprocessing,它是一个标准模块:https://docs.python.org/3/library/multiprocessing.html

您需要的几乎与最基本的示例中的一样:

from glob import glob
from multiprocessing import Pool

list_of_filenames = glob("/path/to/files/*.txt")

def f(filename):
    ...  # do contents of your for loop

if __name__ == "__main__":
    with Pool(5) as p:
        p.map(f, list_of_filenames)

别忘了 if __name__ == "__main__":,我记得没有它可能会导致一些奇怪的错误。