Ipython 如何解决无法识别的参数错误?
问题是我无法完成运行最简单命令的第一步。当我写这段代码时Ipython 如何解决无法识别的参数错误?,ipython,argparse,python-3.6,Ipython,Argparse,Python 3.6,问题是我无法完成运行最简单命令的第一步。当我写这段代码时 import argparse parser = argparse.ArgumentParser() parser.parse_args() 然后我得到这个错误 用法:main.py[-h] main.py:错误:无法识别的参数:-f C:\Users\Saeid\AppData\Roaming\jupyter\runtime\kernel-3011312-128e-4c4d-9ae8- 035b05a69a59.json 发生异常,请
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
然后我得到这个错误
用法:main.py[-h]main.py:错误:无法识别的参数:-f
C:\Users\Saeid\AppData\Roaming\jupyter\runtime\kernel-3011312-128e-4c4d-9ae8-
035b05a69a59.json 发生异常,请使用%tb查看完整回溯 系统出口:2 C:\ProgramFiles\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py:2889:UserWarning:退出:使用
“退出”、“退出”或Ctrl-D.
警告(“要退出:使用“退出”、“退出”或Ctrl-D.”,stacklevel=1)
argparse
模块用于解析命令行参数。因此,在IPython或Jupyter笔记本中这样做没有多大意义。这个错误很可能是由于使用了-f
选项调用了笔记本。正如funky future所指出的,您不应该使用带有argparse
的IPython笔记本。为了测试它的工作原理,我们假设一个名为test.py
的文件包含以下内容:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print(args.echo)
现在,在终端(cmd或PowerShell)中,使用test.py
文件进入目录并键入:
python test.py 123
输出应为:
123
要避免该错误消息,您可以执行以下操作
import argparse
parser = argparse.ArgumentParser()
parser.parse_args([])
谢谢你的快速回复,但我的问题是如何实现这个脚本。显然,我是python新手,我不知道如何将argparse与ipython结合使用,如果您能为我提供一个过程,我将不胜感激。(我在anaconda中使用ipython,它在windows7上运行)为什么还要使用
argparse
?您要分析哪些命令行参数?还有,您是如何运行此脚本的?来自壳牌?从正在运行的Ipython会话中?使用Ipython运行
?或者别的什么。您没有提供足够的上下文。