我有一个程序,可以这样运行。
./program -i /path -o /path -nomore
-nomore
参数是可选的。如果你输入它,它会隐藏一些输出信息,如果你不输入,它不会(所以默认是不隐藏输出信息)。我制作了一个 python 脚本来运行这个程序。所以:myscript.py -i /path/ -o/path -nomore
这就是我想要实现的。
import argparse, subprocess
parser.add_argument("-i","--query", type=str, required=True)
parser.add_argument("-d","--database", type=str, required=True)
parser.add_argument('-nomore','--nomore')
args = parser.parse_args()
if args.nomore:
print 'nomore activated'
subprocess.call("program -i %s -o %s %s " % (args.query, args.database, args.nomore,),shell=True )
问题是我是否-nomore
选择了选项,唯一改变的是打印了“不再激活”,没有任何功能变化。
我也试过
parser.add_argument('-nomore','--nomore',action=store_true)
但是我得到了:Uknown option true ignored
,当我输入命令行时-nocons
,unknown option false ignored
当我没有输入时。