我正在学习Python的基础知识,并且已经陷于Argparse教程的开始。我收到以下错误:
import argparse
parser = argparse.ArgumentParser()
args = parser.parse_args()
usage: __main__.py [-h] echo
__main__.py: error: unrecognized arguments: -f
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
%tb命令给出以下输出:
SystemExit Traceback (most recent call last)
<ipython-input-16-843cc484f12f> in <module>()
----> 1 args = parser.parse_args()
C:\Users\Haik\Anaconda2\lib\argparse.pyc in parse_args(self, args, namespace)
1702 if argv:
1703 msg = _('unrecognized arguments: %s')
-> 1704 self.error(msg % ' '.join(argv))
1705 return args
1706
C:\Users\Haik\Anaconda2\lib\argparse.pyc in error(self, message)
2372 """
2373 self.print_usage(_sys.stderr)
-> 2374 self.exit(2, _('%s: error: %s\n') % (self.prog, message))
C:\Users\Haik\Anaconda2\lib\argparse.pyc in exit(self, status, message)
2360 if message:
2361 self._print_message(message, _sys.stderr)
-> 2362 _sys.exit(status)
2363
2364 def error(self, message):
SystemExit: 2
我该如何解决这个问题?谢谢
argparse
是一个模块,用于解析从命令行传递的参数,因此例如,如果您在命令提示符下键入以下内容:
$ python my_programme.py --arg1=5 --arg2=7
您可以argparse
用来解释--arg1=5 --arg2=7
零件。如果argparse
认为参数无效,则退出,通常在python中通过调用sys.exit()
引发SystemExit
错误,这就是您所看到的。
所以问题是您正在尝试argparse
从交互式解释器(看起来像ipython)中使用,并且此时程序已经启动,因此args应该已经被解析。
如我所述,要尝试正确地创建一个单独的python文件(如),my_programme.py
并使用python
命令行运行它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句