<p>由于我不确定您的示例,我将使用<code>multiprocessing</code>库为您提供另一个示例:</p>
<pre><code># -*- coding: utf-8 -*-
import multiprocessing as mp
input_list = ["str1", "str2", "str3", "str4"]
def format_str(str_input):
str_output = str_input + "_test"
return str_output
if __name__ == '__main__':
with mp.Pool(processes = 2) as p:
result = p.map(format_str, input_list)
print (result)
</code></pre>
<p>现在,假设您想映射一个具有多个参数的函数,那么应该使用<code>starmap()</code>:</p>
<pre><code># -*- coding: utf-8 -*-
import multiprocessing as mp
input_list = ["str1", "str2", "str3", "str4"]
def format_str(str_input, i):
str_output = str_input + "_test" + str(i)
return str_output
if __name__ == '__main__':
with mp.Pool(processes = 2) as p:
result = p.starmap(format_str, [(input_list, i) for i in range(len(input_list))])
print (result)
</code></pre>
<p>不要忘记将池放在<code>if __name__ == '__main__':</code>中,<code>multiprocessing</code>将无法在像<code>spyder</code>(或其他)这样的IDE中工作,因此您需要在cmd中运行脚本。你知道吗</p>
<p>要保留结果,您可以将它们保存到文件中,或者在Linux上使用<code>os.system("pause")</code>(Windows)或<code>input()</code>保持cmd在末尾打开。你知道吗</p>
<p>在python中使用多处理是一种相当简单的方法。你知道吗</p>