1
我有一个解析.txt文件以匹配某些字符串的python脚本(带有方法)。我有四个其他的.txt文件,全部坐在同一个目录中,包括原始文件。我如何去平行化我的代码,以便我可以在所有这些代码上运行python脚本?并行化一个函数以在多个文件上运行
我有一个解析.txt文件以匹配某些字符串的python脚本(带有方法)。我有四个其他的.txt文件,全部坐在同一个目录中,包括原始文件。我如何去平行化我的代码,以便我可以在所有这些代码上运行python脚本?并行化一个函数以在多个文件上运行
例如使用concurrent.futures
:
from concurrent.futures import ThreadPoolExecutor
list_of_files = ["foo1", "foo2", "foo3", "foo4"]
with ThreadPoolExecutor(max_workers=4) as e:
futures = [e.submit(your_parsing_function(f) for f in list_of_files]
可以使用as_completed
方法添加可选的后处理逻辑。
你只需要在你的python中使用多线程以及需要处理的全局共享文件列表。每个线程从该共享列表中抓取一个条目并相应地处理该文件。文件名可以通过参数轻松传递。你可以使用system.argv – Mox