将argparse传递给子进程

时间:2015-12-03 10:53:28

标签: python subprocess argparse

我几乎是Python的初学者,所以如果这是一个非常愚蠢的问题我会道歉。

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

我尝试过的代码如下:

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

1 个答案:

答案 0 :(得分:2)

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

如果这两个选项是独占的,我想你想要这个:

if args.gateway and args.matcheng:
    print 'error'
elif args.gateway:
    ...
elif args.matcheng:
    ...
相关问题