首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArgumentParser -错误:无法识别的参数: ip_2‘127.0.0.1’‘

ArgumentParser -错误:无法识别的参数: ip_2‘127.0.0.1’‘
EN

Stack Overflow用户
提问于 2015-11-25 01:06:48
回答 2查看 1.8K关注 0票数 1

我在python脚本中有以下代码。

代码语言:javascript
复制
parser.add_argument('ip_1', default="127.0.0.1", nargs="?",
                     help="The First IP address.")
parser.add_argument('ip_2', default="127.0.0.1", nargs="?",
                        help="The Second IP address")
parser.add_argument('--port', type=int,
                    help=port_1")

我正在执行这个脚本。我在script parameters中指定了以下PyCharm Run/Debug Configurations

ip_1 '127.200.300.400' ip_2 '127.0.0.1' --port_1=4444

我得到以下错误。

test.py: error: unrecognized arguments: ip_2 '127.0.0.1'

我在这里做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-25 01:19:13

对于as解析,如果第一个参数(dest)没有前缀字符(-),它将被简单地视为位置参数。因此,实际上,在提供参数的情况下,parser.ip_1将是'ip_1'parser.ip_2将是'127.200.300.400'。参数的其余部分将被简单地视为一个错误,因为它们是意外的。只需省略脚本参数的字符串ip_1ip_2 (还提供--port=4444而不是--port_1)就可以完成您希望它做的事情。

票数 1
EN

Stack Overflow用户

发布于 2020-06-05 11:20:39

溶液

唯一的解决方案是在Pycharm中在编辑配置选项卡中的参数行中输入以下内容

代码语言:javascript
复制
-o file.csv

如果省略了-o,就会得到错误。文件名周围的引号是可选的。

背景

我也遇到了同样的问题,使用Argparse和Python3.7

代码语言:javascript
复制
parser.add_argument("-o", "--outfile",
                help="Enter the name of a .csv file to contain output or default of radarOutTemp.csv will be used",
                default="radarOutTemp.csv")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33906822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档