如何通过另一个函数调用使用argparse的函数。

def func():
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('env_name', type=str)
    parser.add_argument('--exp_name', type=str, default='vpg')
    args = parser.parse_args()

    ~~~ other code here that uses 'args'~~~

def wrap_func()
    func(ARGUMENT_PASSING_NOT_VIA_CMD)

wrap_func()


我也想调试它,所以os.system(...)对我不好。

最佳答案

在您的示例中,您只需向func函数添加参数列表,然后将其传递给parse.parse_args()。也许您应该将import argparse和其他导入内容一起移动到脚本的开头。

def func(arg_list):
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('env_name', type=str)
    parser.add_argument('--exp_name', type=str, default='vpg')
    args = parser.parse_args(arg_list)

    ~~~ other code here that uses 'args'~~~

def wrap_func()
    func(list_of_arguments_you_want_to_pass)

wrap_func()


您可以找到一些示例here

关于python - 调用使用argparse的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57134377/

10-13 05:37