В python как выполнить синтаксический анализ строки так же, как анализируется строка аргумента командной строки, чтобы построить sys.argv
?
Я хотел бы сделать следующее
Первый: разрешить передачу необязательного вектора аргумента в main
в моем runnable.py
:
def main(argv=[]):
argv = argv or sys.argv[1:]
parser = argparse.ArgumentParser(...)
... more parser config ...
args = parser.parse_args(argv)
Затем в другом модуле я бы хотел использовать эту основную функцию изнутри python:
argv = how_do_i_do_this('''-f text.txt -o -q "Multi word argument" arg2 "etc."''')
assert(argv == ['-f', 'text.txt', '-o', '-q', 'Multi word argument', 'arg2', 'etc.'])
runnable.main(argv)