Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 11, 2013 23:09:56

MarkHammer
Зарегистрирован: 2013-02-24
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать и запустить список процессов ?

Здравствуйте ! Подскажите пожалуйста как правильнее создать и запустить список процессов с параметрами ? Т.е. необходимо привести к краткому виду вот это :

p1=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’0,51,LOG1_PING_COMP.txt')
p2=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’50,101,LOG2_PING_COMP.txt')
p3=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’100,151,LOG3_PING_COMP.txt')
p4=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’150,201,LOG4_PING_COMP.txt')
p5=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’200,251,LOG5_PING_COMP.txt')
p6=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’250,301,LOG6_PING_COMP.txt')
p7=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’300,351,LOG7_PING_COMP.txt')
p8=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’350,401,LOG8_PING_COMP.txt')
p9=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’400,451,LOG9_PING_COMP.txt')
p10=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’450,501,LOG10_PING_COMP.txt')
p11=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’500,551,LOG11_PING_COMP.txt')
p12=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’550,601,LOG12_PING_COMP.txt')
p13=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’600,651,LOG13_PING_COMP.txt')
p14=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’650,701,LOG14_PING_COMP.txt')
p15=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’700,751,LOG15_PING_COMP.txt')
p16=subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py ‘ + r’750,801,LOG16_PING_COMP.txt')


p1.wait()
p2.wait()
p3.wait()
p4.wait()
p5.wait()
p6.wait()
p7.wait()
p8.wait()
p9.wait()
p10.wait()
p11.wait()
p12.wait()
p13.wait()
p14.wait()
p15.wait()
p16.wait()



Возможно ли вообще сократить такую запись ?

Офлайн

#2 Сен. 11, 2013 23:19:05

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

как создать и запустить список процессов ?

Циклы…



Офлайн

#3 Сен. 11, 2013 23:49:52

MarkHammer
Зарегистрирован: 2013-02-24
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать и запустить список процессов ?

по поводу циклов я знаю - как только потом организовать ожидание завершения процессов ? ведь в цикле они все будут одноименными или же для запуска следующего процесса прийдется ожидать завершения предыдущего… а мне необходимо сначала запустить все процессы, а потом дожидаться их выполнения…
я так предполагаю что необходимо каким-то образом использовать словари ?

Отредактировано MarkHammer (Сен. 11, 2013 23:50:54)

Офлайн

#4 Сен. 11, 2013 23:57:06

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

как создать и запустить список процессов ?

Хватит и списков.
Ладно.

target = [r'0,51,LOG1_PING_COMP.txt',
          r'50,101,LOG2_PING_COMP.txt',
          r'100,151,LOG3_PING_COMP.txt']
spr = []
for trg in target:
    vrs = subprocess.Popen('python C:\Python33\projects\PING_COMP\PING_COMP.py' + trg)
    spr.append(vrs)
for vrs in spr:
    vrs.wait()



Офлайн

#5 Сен. 12, 2013 00:18:50

MarkHammer
Зарегистрирован: 2013-02-24
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать и запустить список процессов ?

4kpt
Хватит и списков.Ладно.

Спасибо ! Что-то подобное думал сделать, но сам не дошел…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version