将参数传递给包装在外壳脚本中的Python脚本

考虑以下Python脚本script.py:


import argparse


parser = argparse.ArgumentParser()


parser.add_argument('-a', type=int)

parser.add_argument('-b', type=int)


args = parser.parse_args()


print('a + b = {}'.format(args.a + args.b))

还有以下shell脚本Runner.sh:


python3 script.py

我知道我可以像这样运行script.py$ python3 script.py -a 4 -b 6来获得以下结果:a + b = 10,但我想script.py从shell脚本中运行,并能够通过-a和-b,如下所示:./runner.sh -a 4 -b 6。但是,当我尝试此操作时,不会传递这些参数:


$ ./runner.sh -a 10 -b 6

Traceback (most recent call last):

  File "script.py", line 10, in <module>

    print('a + b = {}'.format(args.a + args.b))

TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

如何将参数传递给包装在Shell脚本中的Python脚本?对于它的价值,我也尝试了sys.argv,但没有成功。


慕勒3428872
浏览 136回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python