Python Jupyter笔记本中的欺骗argparse

Python Jupyter笔记本中的欺骗argparse,python,jupyter-notebook,argparse,Python,Jupyter Notebook,Argparse,我试图使用一个在Jupyter笔记本中用argparse编写的函数。要做到这一点,我试图“欺骗”argparse,但不知道如何做到这一点。我找到了,但我仍然对argparse有所了解。以下是到目前为止我得到的信息: import sys import argparse sys.argv = ['--config-file', "my_config"] def argument_parser(): parser = argparse.ArgumentParser

我试图使用一个在Jupyter笔记本中用argparse编写的函数。要做到这一点,我试图“欺骗”argparse,但不知道如何做到这一点。我找到了,但我仍然对argparse有所了解。以下是到目前为止我得到的信息:

import sys
import argparse

sys.argv = ['--config-file', "my_config"]


def argument_parser():

    parser = argparse.ArgumentParser()
    parser.add_argument("--config-file", default="", help="path to config file")
    parser.add_argument(
        "opts",
        help="Modify config options",
        default=None,
        nargs=argparse.REMAINDER,
    )
    return parser
然后当我调用
参数\u parser()

ArgumentParser(prog='--config-file', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True)
输出为:

Commandline Args: Namespace(config_file='', opts=['my_config'])
我的目标是获得如下输出:

Commandline Args: Namespace(config_file='my_config')
我该怎么做

import sys
import argparse

sys.argv = ['--config-file','my_config']


def argument_parser():

    parser = argparse.ArgumentParser()
    parser.add_argument("--config-file", default="", help="path to config file")
    parser.add_argument(
        "opts",
        help="Modify config options",
        default=None,
        nargs=argparse.REMAINDER,
    )
    return parser

args = argument_parser().parse_args(sys.argv)
print("Commandline Args:", args)
您应该将
sys.argv
传递给
parse_args
方法

输出:

Commandline Args: Namespace(config_file='my_config', opts=[])
Commandline Args: Namespace(config_file='my_config', opts=[])