Как я могу использовать подпроцесс python.Popen с одним входным csv и одной строкой для каждого входящего процесса? - PullRequest
0 голосов
/ 22 февраля 2019

Я хотел бы запустить несколько экземпляров скрипта 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 isсписок строк, а iv - список строк.

Главное, на чем я заблудился, - как передать каждый список строк, которые будут использоваться в каждом процессе?Требуется ли третьему параметру (в настоящее время мне присвоено значение «iv») быть csv?

Если это так, и я пытаюсь создать 100 асинхронных процессов, значит ли это, что мне нужно 100 входных csvs с одной строкой каждый?Это не имеет смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...