Передать аргументы из командной строки в виде списка и проанализировать его - PullRequest
0 голосов
/ 09 марта 2020

У меня есть следующий код:

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 Ответ

1 голос
/ 09 марта 2020

Заключите аргумент в командной строке:

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

Затем используйте ast.literal_eval() для анализа его значения.

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