首页 > 解决方案 > 从命令行传递参数作为列表并解析它

问题描述

我有以下代码:

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']

标签: pythonparameter-passingargparse

解决方案


在命令行中引用参数:

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

然后用ast.literal_eval()它来解析它的值。

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

推荐阅读