gpt4 book ai didi

python - 是否可以将多个参数传递给 multiprocessing.pool?

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:17 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Python multiprocessing pool.map for multiple arguments

我想将两个参数提供给 multiprocessing.Pool 中的子进程?我觉得我在上坡。是否有可能作为 2 个参数,或者一个元组,或者......它似乎对某些人来说工作正常,正确地传递了两个文件名(输入和输出),但随后在一个可变点意外地 barfs。遗憾的是,它并没有真正起作用,因为输出文件都是空的——如果我直接调用它,或者单独调用它,就不会发生这种情况。还有另一个复杂因素,被调用的例程在另一个导入的模块中。将其本地化为“foo” stub 模块确实可以解决问题,但它只打印参数,而不是尝试做任何实际工作。

顽固地拒绝学习如何使用 Queue 可能还有很长的路要走,但我只想确认我不会在我所走的道路上取得任何进展。

fixtures/txt_data/AAD.txt obj/txt_data/AAD.txt
fixtures/txt_data/ANZSMW.txt obj/txt_data/ANZSMW.txt
fixtures/txt_data/BENPA.txt obj/txt_data/BENPA.txt
fixtures/txt_data/CBAIZQ.txt obj/txt_data/CBAIZQ.txt
Traceback (most recent call last):
File "./jobflow.py", line 60, in <module>
main()
File "./jobflow.py", line 57, in main
args.func(args)
File "./jobflow.py", line 40, in market
pool.map(foo, market_files())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 225, in map
return self.map_async(func, iterable, chunksize).get()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 522, in get
raise self._value
TypeError: function takes exactly 1 argument (2 given)
fixtures/txt_data/CSDO.txt obj/txt_data/CSDO.txt
fixtures/txt_data/EMB.txt obj/txt_data/EMB.txt
fixtures/txt_data/GGG.txt obj/txt_data/GGG.txt
fixtures/txt_data/IDL.txt obj/txt_data/IDL.txt

这是一个错误示例。它会在文件用完之前停止。它或者提示说它想要 2 个参数,但是当我更改它以尝试传递两个参数时只得到 1 个:

def foo(c):
a, b, = c
print a, b
market2.file_main((a, b)) # does comment/uncommenting this break it only because it's in another python file?

def market(args):
"""
read raw ticker data files and output nice, clean, more valid ticker data files
"""
pool = multiprocessing.Pool()

class market_files(object):
for infile in args.infiles:
outfile = os.path.join(args.outdir, os.path.basename(infile))
yield (infile, outfile)

pool.map(foo, market_files())

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com