问题:

在 Jupyter Notebook 中使用 args 传递参数时出错:

原代码:args = parser.parse_args()

用法:ipykernel_www.hack95.com [-h] [--x_dim XDIM] [--h_dim HDIM] [--z_dim ZDIM]
        [--比率比率] [--种子种子]
ipykernel_www.hack95.com:错误:无法识别的参数:-f C:\ Users \ MSI-NBOOK \ AppData \ Roaming \ jupyter \ runtime \ kernel-f881e2bc-0a12-4207-b4cf-1cf484ec88f2.json
发生异常,使用 %tb 查看完整的回溯。

系统退出:2

F:\Anaconda3\lib\site-packages\IPython\core\www.hack95.com:2971: UserWarning: 要退出:使用“exit”、“quit”或 Ctrl-D。
 warn("要退出:使用 'exit'、'quit' 或 Ctrl-D。", stacklevel=1)

解决方案:

修改原代码,修改后的代码为:

args = parser.parse_args(args=[])

修改后即可使用。

补充知识:argarse.ArgumentParser.parse_known_args()分析

大致意思是:有时候一个脚本只需要解析所有命令行参数中的一小部分,剩下的命令行参数交给脚本或者程序。在这种情况下,parse_known_args() 很有用。它与 parse_args() 非常相似,但在接收额外的命令行参数时不会引发错误。相反,返回命名空间的元组和剩余命令行字符的列表。

例如新建一个www.hack95.com文件,在文件中写入以下代码

导入argparse
解析器 = argparse.ArgumentParser()
解析器.add_argument(
 '--flag_int',
 类型=浮点数,
 默认=0.01,
 帮助='flag_int。'
)
FLAGS,未解析 = parser.parse_known_args()
打印(标志)
打印(未解析)

结果如下:

$ python www.hack95.com --flag_int 0.02 --double 0.03 a 1
命名空间(flag_int=0.02)
['--双', '0.03', 'a', '1']

上面的文章就是解决Jupyter Notebook中使用parser.parse_args时出现的错误问题。希望能给您一个参考,也希望您支持来客网。