我有一套三种程序,我正试图将它们合并成一个程序。他们都是单独工作的,但当我试图让他们一起工作时,我遇到了一些问题。我目前遇到的问题是代码的第一部分:
import os
import sys
from contextlib import closing
import colorama # $ pip install colorama
import docopt # $ pip install docopt
import socks # $ pip install PySocks
import stem.process # $ pip install stem
from sockshandler import SocksiPyHandler # see pysocks repository
from stem.util import term
try:
import urllib2
except ImportError: # Python 3
import urllib.request as urllib2
args = docopt.docopt(__doc__, version='0.2')
colorama.init(strip=not (sys.stdout.isatty() or args['--color']))当我运行程序时,我会得到以下错误:
Traceback (most recent call last):
File "cilantro.py", line 34, in <module>
args = docopt.docopt(__doc__, version='0.2')
File "C:\Python34\lib\site-packages\docopt.py", line 558, in docopt
DocoptExit.usage = printable_usage(doc)
File "C:\Python34\lib\site-packages\docopt.py", line 468, in printable_usage
raise DocoptLanguageError('"usage:" (case-insensitive) not found.')
docopt.DocoptLanguageError: "usage:" (case-insensitive) not found.为什么我会收到这条错误信息?在原始程序中,相同的代码工作得很好。
发布于 2015-08-06 02:34:31
在使用docopt时,您需要为脚本编写一个__doc__字符串。docopt解析此字符串以确定如何处理命令行选项和参数。
要修复这个问题,以及类似于“导入os”上面的文本(所以这是文件中的第一件事):
"""
Name.
Describe what this script does
Usage:
name <firstarg>
name --countdown
name sillycommand <SILLYNESS>
name -h | --help
Options:
--countdown display a count down
"""有关在这个使用字符串中放入什么的更多详细信息,可以在docopt文档http://docopt.org/中找到。
https://stackoverflow.com/questions/29811422
复制相似问题