我想运行python脚本的多个实例,同时将变量作为每个实例的一行csv输入到每个脚本的类实例中。
例如,在主文件中,我打开csv并存储为列表,每一行都是字符串列表。我想遍历字符串列表,并将每个字符串列表作为subprocess.Popen()的输入。
每个进程应异步运行,并为每个采用不同变量的类实例化。
我找到了subprocess.Popen()的示例代码,这是我尝试使用的对它的无效修改:
with open('variables.csv') as f:
reader = csv.reader(f)
input_variables = list(reader)
for iv in input_variables:
proc = subprocess.Popen([sys.executable, 'script_to_run.py', iv, '{}_out.csv'.format(iv[0])])
procs.append(proc)
for proc in procs:
proc.wait()
input_variables是字符串列表的列表,并且iv是字符串列表。
我迷失的重点是如何传递要在每个进程中使用的每个字符串列表?是否需要将第3个参数(我目前设置为“ iv”)设置为csv?
如果是这种情况,而我正在尝试创建100个异步进程,这是否意味着我需要100个输入csvs,每个输入csv都有一行字符串?这似乎没有道理。