从命令行将参数作为列表传递并解析

时间:2020-03-09 16:56:31

标签: python parameter-passing argparse

我有以下代码:

import arg
parser = arg.ArgumentParser(description="<%=@project_name%> Command Line.")
parser.add_argument(
        "--inputs", "-i", help="input files.", default="./",
    )
parser.add_argument(
        "--controls", "-c", help="Parms.", default=False
    )
parser.add_argument(
        "--outputs", "-o", help="output files.", default="./"
    )

我将代码简单地运行为

python code.py -i ./ -o ./ 

只是想知道如何将参数列表作为参数传递并在python中解析通过它?像这样:

python code.py -i ./ -o ./ -c [False, 5, 'aStr']

1 个答案:

答案 0 :(得分:1)

在命令行上引用参数:

python code.py -i ./ -o ./ -c "[False, 5, 'aStr']"

然后使用ast.literal_eval()解析其值。

import ast
...
controls = ast.literal_eval(parser.controls)