问题:
在 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时出现的错误问题。希望能给您一个参考,也希望您支持来客网。