如何解决无法识别的参数错误?
问题是我无法完成运行最简单命令的第一步。当我写这篇文章的代码如何解决无法识别的参数错误?
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
的话,我得到这个错误
usage: main.py [-h]
main.py: error: unrecognized arguments: -f
C:\Users\Saeid\AppData\Roaming\jupyter\runtime\kernel-301e1312-128e-4c4d-9ae8-
035b05a69a59.json
发生异常,使用TB%看到完整的回溯。
SystemExit:2
C:\Program Files\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py:2889: UserWarning: To exit: use
'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
的模块用于解析命令行参数。因此,在IPython或Jupyter笔记本中这样做没有多大意义。这个错误有可能来源于笔记本被-f
选项调用的事实。
感谢您的快速回复,但我的问题是我应该如何实现此脚本。显然,我是新的python,我不知道我应该如何使用argparse与ipython,如果你可以提供我一个程序,我将不胜感激。 (我使用ipython在anaconda和它在windows7上运行) –
由于时髦未来指出,您不应该使用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([])
为什么你甚至使用'argparse'?你想分析哪些命令行参数?另外你如何运行这个脚本?从shell?从正在运行的Ipython会话中?用Ipython的'run'?或者是其他东西。你没有提供足够的上下文。 – hpaulj