argparser 覆盖设置选项手册

argparser override set option manual

是否可以使用 python 中的 argpaser 设置值而不使用命令行,而是使用内联代码。我正在处理一个经常使用它的 opencv 拼接示例,但我不想要那样。 在我的情况下,图像名称是由代码而不是命令行创建的。 它不仅是我喜欢设置的图像,还有几个选项,所以有没有一种通用的方法可以做到这一点:

#in psuedo code
args = parser.parse_args()
args_setoption('images') = listToString(myimagelist)

您可以在没有命令行的情况下使用 argparse parser.parse_args:

import argparse


def listToString(myimagelist):
    return ' '.join(myimagelist)


myimagelist = ['/tmp/foo.png', '/tmp/bar.jpeg']

parser = argparse.ArgumentParser(description='Test')
parser.add_argument('--images', type=str, help='(string) list of images')
_a = parser.parse_args([f'--images={listToString(myimagelist)}'])
print(_a.images)

输出:

/tmp/foo.png /tmp/bar.jpeg