解决Jupyter Notebook中parser.parse_args报错问题

小石头
小石头
发布时间:2026-10-13| 6人浏览过
原创

本文介绍在Jupyter Notebook环境中使用argparse库时,parser.parse_args()因识别到Jupyter内部参数而报错的解决方案。通过将参数列表设为空数组args=[],可成功解析自定义命令行参数。

Jupyter Notebook中parser.parse_args报错解决方案

问题描述:

在Jupyter Notebook环境中调用args传递参数时,程序会抛出错误。

原始代码示例:args = parser.parse_args()


usage: ipykernel_launcher.py [-h] [--x_dim XDIM] [--h_dim HDIM] [--z_dim ZDIM]
        [--ratio RATIO] [--seed SEED]
ipykernel_launcher.py: error: unrecognized arguments: -f C:\Users\MSI-NBOOK\AppData\Roaming\jupyter\runtime\kernel-f881e2bc-0a12-4207-b4cf-1cf484ec88f2.json
An exception has occurred, use %tb to see the full traceback.

SystemExit: 2

F:\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py:2971: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
 warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

解决方案:

需要对原始代码进行如下修改:

args = parser.parse_args(args=[])

完成上述修改后,即可正常使用。

补充知识:argparse.ArgumentParser.parse_known_args()解析方法

该方法的用途在于,当脚本仅需解析部分命令行参数,而将剩余参数传递给其他脚本或程序时,parse_known_args()非常适用。其功能类似于parse_args(),但在遇到未定义的命令行参数时不会报错,而是返回一个包含命名空间元组和一个保存剩余命令行字符列表的元组。

示例演示:新建一个test.py文件,并在其中写入以下代码:


import argparse 
parser = argparse.ArgumentParser() 
parser.add_argument( 
 '--flag_int', 
 type=float, 
 default=0.01, 
 help='flag_int.' 
) 
FLAGS, unparsed = parser.parse_known_args() 
print(FLAGS) 
print(unparsed)

运行结果如下:


$ python prog.py --flag_int 0.02 --double 0.03 a 1
Namespace(flag_int=0.02)
['--double', '0.03', 'a', '1']

以上即为解决Jupyter Notebook中parser.parse_args报错问题的全部内容,希望能为读者提供参考,并感谢大家的支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。