[英]python docopt: “expected string or buffer”
我正在使用 docopt 模块来处理 python 脚本选项:
from docopt import docopt
"""Usage:
./convert [ -h | -i | -t | -c ]
Options:
-h Show this help
-i Convert image to vertical scroll box
-t Convert text to vertical scroll box
-c Convert command list to html
"""
def main(docopt_args):
...
if __name__ == '__main__':
args = docopt(__doc__, version='v0.1')
main(args)
回溯(最近一次通话):文件
“/home/ajn/Converter-yaml-to-html-blocks/convert.py”,第 66 行,在
args = docopt( doc , version='v0.1') 文件“/usr/local/lib/python3.4/dist-packages/docopt.py”,第 558 行,在 docopt 中
DocoptExit.usage = printable_usage(doc) 文件“/usr/local/lib/python3.4/dist-packages/docopt.py”,第 466 行,在 printable_usage 中
usage_split = re.split(r'([Uu][Ss][Aa][Gg][Ee]:)', doc) 文件“/usr/lib/python3.4/re.py”,第 196 行,在分裂
返回 _compile(pattern, flags).split(string, maxsplit) TypeError: 预期的字符串或缓冲区
任何提示?
将文档字符串移动到文件的开头(在导入行之前)
对于任何困惑的人,在使用docopt
您应该在from docopt import docopt
之前编写一个文档字符串。 参数的选项是通过自动解析该字符串生成的。 在这个问题中,文档字符串是:
"""Usage:
./convert [ -h | -i | -t | -c ]
Options:
-h Show this help
-i Convert image to vertical scroll box
-t Convert text to vertical scroll box
-c Convert command list to html
"""
并且应该放在导入之前。
在此处的项目 README 中查看更多示例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.