我几乎是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
答案 0 :(得分:2)
只需将if
语句更改为if args.gateway
和if args.matcheng
:
如果这两个选项是独占的,我想你想要这个:
if args.gateway and args.matcheng:
print 'error'
elif args.gateway:
...
elif args.matcheng:
...