zoukankan      html  css  js  c++  java
  • Python每天学一点之argparse

    前言

    Python之每天学习一点专栏,为后面分析各位大师傅编写的一系列安全工具打基础,并且为未来自己写一款WEB方面的安全工具打基础。

    argparse --- 命令行选项、参数和子命令解析器

    学习链接:

    https://docs.python.org/zh-cn/3/library/argparse.html?highlight=argparse

    https://www.cnblogs.com/iMX8mm/p/10821468.html

    最近看了一些公众号上师傅用python写的小工具,虽然没有开发成一个项目,不过也是一种python的学习成果,这里打点基础

    argparse介绍

    argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

    第一步:创建一个解析器

    parser=argparse.ArgumentParser(epilog='	Example: 
    python3 ' + sys.argv[0] + " -n 拳愿阿修罗 2")

    第二部:添加参数

    给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。例如:

    parser=argparse.ArgumentParser(epilog='	Example: 
    python3 ' + sys.argv[0] + " -n 拳愿阿修罗 2")

    第三步:解析参数

    >>> parser.parse_args(['--sum', '7', '-1', '42'])
    Namespace(accumulate=<built-in function sum>, integers=[7, -1, 42])

    这是sublistr3.py中的命令行选项

    def parse_args():
        # parse the arguments
        parser = argparse.ArgumentParser(epilog='	Example: 
    python ' + sys.argv[0] + " -d google.com")
        parser.error = parser_error
        parser._optionals.title = "OPTIONS"
        parser.add_argument('-d', '--domain', help="Domain name to enumerate it's subdomains", required=True)
        parser.add_argument('-b', '--bruteforce', help='Enable the subbrute bruteforce module', nargs='?', default=False)
        parser.add_argument('-p', '--ports', help='Scan the found subdomains against specified tcp ports')
        parser.add_argument('-v', '--verbose', help='Enable Verbosity and display results in realtime', nargs='?', default=False)
        parser.add_argument('-t', '--threads', help='Number of threads to use for subbrute bruteforce', type=int, default=30)
        parser.add_argument('-e', '--engines', help='Specify a comma-separated list of search engines')
        parser.add_argument('-o', '--output', help='Save the results to text file')
        return parser.parse_args()

    这里我随便写一个,明天修缮修缮我之前爬动漫站的脚本,叫上这个命令行选项。

    这个模块不重要,会就好。

    明儿补上加上命令行选项的动漫站的爬虫代码

  • 相关阅读:
    sql_LIKE
    sql_TOP
    oracle_存储过程
    注释@
    request.getAttribute()和request.getParameter()区别
    遍历map
    ORACLE
    JSP
    生成导入模板_设置列宽及标题_解析xml
    解析Excel_Poi
  • 原文地址:https://www.cnblogs.com/BOHB-yunying/p/12791200.html
Copyright © 2011-2022 走看看