2015-12-03 2 views
1

Я довольно много новичок в Python, поэтому прошу прощения, если это действительно глупый вопрос.Пропустить argparse к подпроцессу

Я пытаюсь создать небольшой скрипт, чтобы начать процесс, основываясь на том, что пользователь вводит в командной строке. Но я не совсем уверен, как передать переменные 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

ответ

2

Просто измените if заявления if args.gateway и if args.matcheng:

Если два варианта эксклюзив, я думаю, что вы хотите:

if args.gateway and args.matcheng: 
    print 'error' 
elif args.gateway: 
    ... 
elif args.matcheng: 
    ... 
Смежные вопросы