Python:同时启动许多脚本

时间:2011-05-10 14:08:35

标签: python shell scripting

该程序启动第一个程序。但我也希望运行第二个并行。 如何使用脚本启动两个或更多程序?

# 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 个答案:

答案 0 :(得分:4)

尝试使用子进程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中)。

答案 1 :(得分:0)

要启动多个应用程序,我建议使用线程。

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()