在 python 命令行中将解析参数作为变量输入?

Input parse argument as a variable in python command line?

我正在尝试输入一个字符串变量作为解析参数。

运行 包含以下行的代码:

for i in range(0,5):
  para=str(i)+"test.params"
  !python test.py --model I3D_resnet50 --resume-params para
 

test.py中添加了解析参数:

parser.add_argument('--resume-params', type=str, default='default.params',
                        help='path of parameters to load from.')

但是代码不起作用,即使我在 parse.add_argument 中添加 nargs='*'。 解析参数是否可以输入变量?

我有一个小脚本可以呼应 sys.argv:

In [173]: cat echo.py
import sys
print(sys.argv)

ipython 会话中,我可以调用它:

In [174]: !python3 echo.py test commandline
['echo.py', 'test', 'commandline']

或使用 para 变量:

In [175]: para = "test line"
In [176]: !python3 echo.py $para
['echo.py', 'test', 'line']

sys.argv echo 可以用有效的 argparse 解析器替换。