如何解决无法识别的参数错误?

时间:2017-06-05 09:37:44

标签: ipython argparse python-3.6

问题是我无法完成运行最简单命令的第一步。当我写这段代码时

import argparse
parser = argparse.ArgumentParser()
parser.parse_args()

然后我收到此错误

  

用法:主要 .py [-h]
   main .py:错误:无法识别的参数:-f
  C:\ Users \用户赛义德\应用程序数据\漫游\ jupyter \运行\内核301e1312-128e-4c4d-9ae8-
  035b05a69a59.json

发生了异常,使用%tb查看完整的回溯。

SystemExit:2

  

C:\ Program Files \ Anaconda3 \ lib \ site-
  packages \ IPython \ core \ interactiveshell.py:2889:UserWarning:退出:使用
  '退出','退出'或Ctrl-D   警告(“退出:使用'退出','退出'或Ctrl-D。”,stacklevel = 1)

3 个答案:

答案 0 :(得分:1)

argparse模块用于解析命令行参数。因此,在IPython或Jupyter笔记本中这样做没有多大意义。该错误可能源于这样一个事实,即使用-f选项调用笔记本。

答案 1 :(得分:0)

正如时髦未来所指出的,你不应该使用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

Source

答案 2 :(得分:0)

要避免该错误消息,您可以执行

import argparse
parser = argparse.ArgumentParser()
parser.parse_args([])