2

如何在 python 中创建一个文档,其中我的参数需要是一个带空格的字符串。我尝试在它周围加上单引号和双引号,但它不起作用。

到目前为止,这是我的文档字符串。

"""
Parser 
Usage: parser.py <trey_file> <als_cmd>

"""

parser.py myfile.py “这是橙子”#不起作用

4

1 回答 1

2

Docopt 不会将参数字符串解析为参数向量。试试下面的。

"""
Parser
Usage: parser.py <trey_file> <als_cmd>

"""
print docopt(__doc__)
print docopt(__doc__, 'myfile.py "This is an Orange"')
print docopt(__doc__, ['myfile.py', 'This is an Orange'])

使用 . 从 shell 运行脚本python parser.py myfile.py "This is an Orange"。第一种情况应该按预期工作,因为 shell 将参数拆分sys.argv为您所期望的。第二种情况因您的问题而失败,因为 docopt 期望其输入已经标记化。第三种情况将按预期工作。

顺便说一句, try.docopt.org似乎犯了同样的错误,将字符串而不是向量传递给docopt().

于 2014-10-01T02:06:39.083 回答