从另一个脚本运行python脚本

时间:2011-05-16 09:37:16

标签: python

我希望运行一个python脚本,它从另一个python脚本中获取选项和参数。

For example run C:\\code\\old_start_training_generic_depth.py -i 10 -l 2 from 
C:\\code\\start.py

5 个答案:

答案 0 :(得分:7)

您可以使用subprocess.Popen执行此操作,该{{1}}可用于从Python代码(包括其他Python程序)运行任何外部进程。

那就是说,否则我会这样做。由于这两个程序都是用Python编写的,我会将你想调用的程序打包为一个可以通过编程方式调用的模块(即导入然后调用),而不是将其作为子进程调用。这可能会产生一些小的开发成本,但最终我相信它会收回成本,因为这种方法有很多优点。

答案 1 :(得分:3)

import subprocess
subprocess.Popen(['C:\\code\\old_start_training_generic_depth.py', '-i', '10', '-l', '2']).wait()

答案 2 :(得分:2)

import subprocess

def runscript():
    '''
    Run a script
    '''

    cmd_list = ["python", r"C:\code\old_start_training_generic_depth.py", \
                "-i", "10", "-l", "2"]

    pipe = subprocess.Popen(cmd_list, stdin=subprocess.PIPE, \
                    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

    stdout, stderr = pipe.communicate()
    retcode = pipe.poll()

    return (retcode, stdout, stderr)

答案 3 :(得分:1)

C:\代码\ start.py:

import subprocess
subprocess.Popen(["python", r"C:\code\old_start_training_generic_depth.py", "-i", "10", "-l", "2"])

答案 4 :(得分:-1)

# once upon a time somewhere in the start.py
os.system("python C:\\code\\old_start_training_generic_depth.py -i 10 -l 2")