python Docopt中的postional争论

时间:2016-06-28 13:19:45

标签: python docopt

我正在编写一个简单的命令行联系人管理器。 我希望能够使用以下命令添加新联系人     manager.py add -n NAME -p PHONENUMBER
但是当我使用firstname和lastname添加联系人时,代码会抛出错误 例如。 manager.py add -n emeka onwuzulike +23464715326
这是我的代码
Usage: manager.py add -n NANE -p PHONENUMBER

2 个答案:

答案 0 :(得分:0)

你遇到的问题是因为每个参数都在空格字符上分开,所以发送的是:

  • 添加
  • -n
  • 埃梅卡
  • onwuzulike
  • 23464715326

你有几个选择围绕这个,我能想到的最简单的方法是不使用名称中的空格,使用像下划线(_)这样的分隔符然后在你的脚本中用空格替换_。 p>

或者尝试将名称封装在引号中,具体取决于命令提示符,它有时会将其解析为单个参数。由于实际上没有给我们任何代码,我无法测试。

答案 1 :(得分:0)

要实现这一点,你需要把一个字符串作为名称争论的一个如此      manager.py add -n' emeka onwuzulike' -p 08064715300