我正在开发我的第一个python“应用程序”,并在Stackoverflow上听取了参与者的一些建议。我决定放弃我所拥有的,从头开始。
它似乎很好地解析了参数以供使用等等,但我不确定我是如何将这些值分配给args的?
我必须要建立一个假设的巢吗?如果是这样的话,我如何为docopt中的args做到这一点?
也许像这样?
if opt in ("-f", "--file"):
FWORD = arg码
#!/usr/bin/python
"""
Basic domain bruteforcer
Usage:
your_script.py (-f <file>) (-d <domain>) [-t 10] [-v]
your_script.py -h | --help
Options:
-h --help Show this screen.
-f --file File to read potential Sub-domains from. (Required argument)
-p --proxy Proxy address and port. [default: http://127.0.0.1:8080] (Optional)
-d --domain Domain to bruteforce.(Required argument)
-t --thread Thread count. (Optional)
-v --verbose Turn debug on. (Optional)
"""
from docopt import docopt
def fread(FWORD, *args):
flist = open(FWORD).readlines()
return flist
if __name__ == "__main__":
arguments = docopt(__doc__, version='0.1a')
print fread(fword)发布于 2014-03-06 15:22:34
你差点就拿到了。您的参数变量包含参数,您可以像在dict中一样查找它们。因此,如果您想使用文件参数调用fread函数,那么您的主参数如下所示:
if __name__ == "__main__":
arguments = docopt(__doc__, version='0.1a')
fread(arguments['<file>'])如果您像这样调用脚本:
> python your_script.py -f myfiles/file.txt -d google.com那么,您的论点将如下所示:
>>> print arguments
{'--domain': True,
'--file': True,
'--help': False,
'--thread': False,
'--verbose': False,
'10': False,
'<domain>': 'google.com',
'<file>': 'myfiles/file.txt'}发布于 2014-03-06 15:13:48
您应该看看python标准库中的argparse解析。
https://stackoverflow.com/questions/22228266
复制相似问题