如何使用 argparse 从命令行和代码传递参数?

THN*_*THN 2 python command-line arguments parameter-passing argparse

我有一个 python 程序,它接受许多参数并运行。使用argparse,我可以定义参数、它们的默认值、它们的解释,并且它可以用作一个方便的容器。所以这对于从命令行传递参数来说都是很好的。

但我也可以使用它来传递代码中的参数以进行 API 调用吗?

THN*_*THN 7

是的,当然argparse可以用于从命令行和代码传递参数。

例如:

import argparse

# Define default values
parser = argparse.ArgumentParser()
parser.add_argument('--foo', default=1, type=float, help='foo')

# Get the args container with default values
if __name__ == '__main__':
    args = parser.parse_args()  # get arguments from command line
else:
    args = parser.parse_args('')  # get default arguments

# Modify the container, add arguments, change values, etc.
args.foo = 2
args.bar = 3

# Call the program with passed arguments
program(args)
Run Code Online (Sandbox Code Playgroud)