argparse 命令行运行

一.设置命令行运行脚本

import argparse


def parse_arguments():
    """
    解析命令行参数的函数
    Returns:
        argparse.Namespace: 包含解析后的参数对象
    """
    parser = argparse.ArgumentParser(
        description="命令行参数解析示例",
        formatter_class=argparse.RawTextHelpFormatter  # 保留帮助文档中的换行和格式
    )
    # 必需参数
    parser.add_argument(
        "--mobile",
        type=str,
        required=True,  # 必传
        help="手机号(必需)\n示例: --mobile 14705862558"
    )
    # 可选参数
    parser.add_argument(
        "--age",
        type=str,
        default="18",
        help="年龄(可选,默认为 '18')示例: --age 20"
    )

    parser.add_argument(
        "--source",
        type=int,
        choices=range(0, 1000),  # 限制取值范围
        help="分值(0-999的整数)示例: --source 122"
    )

    # 开关参数(布尔值)
    parser.add_argument(
        "--verbose",
        action="store_true",  # 出现时值为True,否则为False
        help="启用详细输出模式"
    )

    return parser

二.获取参数值

def main():
    """主函数:调用参数解析并处理逻辑"""
    args = parse_arguments().parse_args()

    # 打印解析结果
    print(f"手机号: {args.mobile}")
    print(f"年纪: {args.age}")
    if args.source is not None:
        print(f"分值: {args.source}")
    if args.verbose:
        print("详细模式已启用")

三.运行

通过命令行运行

if __name__ == "__main__":
    #方式1
    main()
 python3 argparsed.py --mobile 13633979764 --risklevel 100 --verbose        

通过代码运行

def main():
    """主函数:调用参数解析并处理逻辑"""
    args = parse_arguments().parse_args()

    # 打印解析结果
    print(f"手机号: {args.mobile}")
    print(f"年龄: {args.age}")
    if args.source is not None:
        print(f"分值: {args.source}")
    if args.verbose:
        print("详细模式已启用")


if __name__ == "__main__":
    list = ["--mobile", "13633979764", "--source", "100"]
    args = parse_arguments().parse_args(list)
    print(args.mobile)
    print(args.source)

 

posted @ 2026-08-08 09:56  余生没有余生  阅读(5)  评论(0)    收藏  举报