【问题标题】:Python parser will not accept '-' as an argumentPython 解析器不接受 '-' 作为参数
【发布时间】:2018-11-10 07:50:10
【问题描述】:

我的 python 脚本正在作为参数字符串发送“-E”,但我收到以下错误

error: argument -emIdentify: expected one argument

当我发送它“.E”或“_E”时一切都很好,我怎样才能让它接受“-E”

我的代码是

import argparse

parser = argparse.ArgumentParser(description='')
parser.add_argument("-emIdentify")
logging.debug( 'processing emIdentify: ' + args.emIdentify + "<br/>" )

【问题讨论】:

  • python script.py -emIdentify -E 中,'-E' 被视为标志字符串(如'-emidentify'。使用答案中建议的= 形式来解决该限制。作为一个形式问题我也会用--emIdentify 定义你的论点(双 - 更长的名字)。
  • 这是一个已知问题; = 解决方案在 stackoverflow.com/a/16175115/901925 中提供

标签: python argparse


【解决方案1】:

你可以试试

python filename.py -emIdentify=-E

【讨论】:

  • 我从 html 表单输入中获取它,用户输入他们希望使用的字符串,并将其作为参数传递。当用户输入 .E 或 _E 时一切正常,但我收到 -E 的错误。我认为这可能是 parser.add_argument("-emIdentify") 被读取为 parser.add_argument("--E") 行。
猜你喜欢
  • 2012-01-14
  • 2015-07-03
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 2017-11-24
相关资源
最近更新 更多