Python 将argparse传递给子进程

Python 将argparse传递给子进程,python,subprocess,argparse,Python,Subprocess,Argparse,我基本上是Python的初学者,所以如果这是一个非常愚蠢的问题,我很抱歉 我试图根据用户在命令行中输入的内容设置一个小脚本来启动一个进程。但是我不完全确定如何将argsparse变量传递给subprocess命令 我尝试过的代码如下: import argparse import subprocess parser = argparse.ArgumentParser() parser.add_argument('-g', '--gateway') parser.add_argument('-m

我基本上是Python的初学者,所以如果这是一个非常愚蠢的问题,我很抱歉

我试图根据用户在命令行中输入的内容设置一个小脚本来启动一个进程。但是我不完全确定如何将
argsparse
变量传递给subprocess命令

我尝试过的代码如下:

import argparse
import subprocess

parser = argparse.ArgumentParser()
parser.add_argument('-g', '--gateway')
parser.add_argument('-m', '--matcheng')
args = parser.parse_args()

if args is args.gateway:

    gw = args.gateway
    subprocess.Popen(['gw', gw, '-vi'], shell=True)

if args is args.matcheng:

    me = args.matcheng
    subprocess.Popen(['matchingengine', me, '-vi'], shell=True)
有人能给我指出正确的方向吗?
Thx

只需将
if
语句更改为
if args.gateway
if args.matcheng

如果这两个选项是排他性的,我认为您需要:

if args.gateway and args.matcheng:
    print 'error'
elif args.gateway:
    ...
elif args.matcheng:
    ...