zoukankan      html  css  js  c++  java
  • python基础之编写带参数的程式

    第一种方法:sys.argv。获取的是参数列表。在使用过程中,最好先用 len(sys.argv) 判断参数的个数,再用sys.argv[0]下标的方式获取参数,获取的参数类型都是str

    import sys
    
    
    if __name__ == '__main__':
        print(sys.argv)

    sys.argv返回的是参数列表,第一个参数是当前py文件的绝对路径,后面的参数就是自己传递的参数内容。

    第二种方法:argparse。此方法可以帮助生成帮助文档usage,并且可以规定参数类型,以及帮助不符合规定的参数报错。

    先看一个例子:

    #!/usr/bin/env python
    # _*_ coding: UTF-8 _*_
    """=================================================
    @Project -> File    : paramter_re.py
    @IDE     : PyCharm
    @Author  : zihan
    @Date    : 2021/12/23 11:06
    @Desc    :
    ================================================="""
    import argparse
    
    
    if __name__ == '__main__':
        parser = argparse.ArgumentParser()  # 创建ArgumentParser对象
        # 默认参数是一个str
        # parser.add_argument('integers')
        # 必须传入整型数据,否则报错paramter_re.py: error: argument integers: invalid int value: 'a'
        # parser.add_argument('integers', type=int)
        # usage 提示变为N -- usage: paramter_re.py [-h] N
        # parser.add_argument('integers', metavar='N', type=int)
        # 参数为-h时会把help的信息提示给N参数
        # parser.add_argument('integers', metavar='N', type=int, help='It must be a integer')
        # 参数是一个列表,可以是1个或多个整数,传参的话用空格隔开就好,会自动判断多少个整数然后生成整数列表
        # 如果有两个argument都是整数列表的话,会将最后一个整数给到第二个参数
        # parser.add_argument('integers', metavar='N', type=int, nargs='+', help='It must be a integer list')
        # 加了-代表是可选参数,default代表默认是1
        parser.add_argument('-integers', metavar='N', type=int, nargs='+', default=1, help='It must be a integer list')
        args = parser.parse_args()
        print(type(args.integers))
        print(args.integers)
        parser.print_help()

    输出:

    <class 'int'>
    1
    usage: paramter_re.py [-h] [-integers N [N ...]]
    
    optional arguments:
      -h, --help           show this help message and exit
      -integers N [N ...]  It must be a integer list

    如果带了'-'的话,表示是可选参数,如果要传值的话就必须是 -integers 1 ,如果没有带'-'表示是必须的参数,可以直接传值1。

  • 相关阅读:
    Android学习—Shape
    Android学习—Application的作用
    用户管理
    DPKG命令与软件安装、APT
    Linux学习笔记
    C如何使用内存
    九九乘法表.py
    超市买苹果.py
    第一个程序python.py
    JavaScript一些备忘知识
  • 原文地址:https://www.cnblogs.com/smart-zihan/p/15727116.html
Copyright © 2011-2022 走看看