Python: запускать много скриптов одновременно - PullRequest
0 голосов
/ 10 мая 2011

Эта программа запускает первую программу. Но я также хочу запустить вторую параллель. Как запустить две или более программ с помощью скрипта?

# start many programs
execfile('C:/Dokumente und Einstellungen/schnei17/Desktop/python/zeit/1.py')
print 1
execfile('C:/Dokumente und Einstellungen/schnei17/Desktop/python/zeit/2.py')
print 2

Ответы [ 2 ]

4 голосов
/ 10 мая 2011

попробуйте использовать модуль Python для подпроцесса:

import subprocess
subprocess.Popen(["python.exe", 'C:/Dokumente und Einstellungen/schnei17/Desktop/python/zeit/1.py'])
subprocess.Popen(["python.exe", 'C:/Dokumente und Einstellungen/schnei17/Desktop/python/zeit/2.py'])

Он запустит 2 сценария параллельно (если ваш python.exe находится в PATH).

0 голосов
/ 08 августа 2012

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

shellcommands=("notepad.exe",
               "calc.exe",
               "mspaint.exe")

import os
import sys
import time
import datetime
import threading
import subprocess

class ThreadClass(threading.Thread):
    # Override Thread's __init__ method to accept the parameters needed:

    def __init__ ( self, command ):
        self.command = command
        threading.Thread.__init__ ( self )

    def run(self):
        now = datetime.datetime.now()
        print "%s %s %s \n" % (self.getName(), self.command,now)
        try:
            subprocess.call(self.command, shell=True)
        except Exception, err:
            print "ERROR: %s\n" % str(err)

for cmd in shellcommands:
    t = ThreadClass(cmd)
    t.start()

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