010.Python基础语法(九)——输入和输出(一)——命令行输入

010.Python基础语法(九)——输入和输出(一)——命令行参数

命令行参数

可以通过列表sys.argv访问命令行参数
argv[0]默认为脚本名称
argv[1]默认为第一个参数,以此类推

import sys
import random

n = int(sys.argv[1])
for i in range(n):
    print(random.randrange(0, 100))

010.Python基础语法(九)——输入和输出(一)——命令行输入_第1张图片

argparse模块和命令行参数解析

基本步骤

  1. 导入模块
  2. 创建ArgumentParse对象
  3. 调用parser对象方法add_argument(),增加要解析的命令行参数信息
  4. 调用parser对象方法parse_args()解析命令行参数,生成对应的列表
import argparse

parser = argparse.ArgumentParser()

parser.add_argument('--length', default=10, type=int, help='长度')

args = parser.parse_args()
print(args)

在这里插入图片描述

关于add_argument

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help]
[, metavar][, dest])

每个参数解释如下:
name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo
action - 命令行遇到参数时的动作,比如 store_true, 使用该参数时,默认的值为true, 不使用,默认的值为false
nargs - 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数
const - action 和 nargs 所需要的常量值
default - 不指定参数时的默认值
type - 命令行参数应该被转换成的类型
choices - 参数可允许的值的一个容器
required - 可选参数是否可以省略 (仅针对可选参数)
help - 参数的帮助信息,自己定义的参数含义
metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称
dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线

你可能感兴趣的:(Python3,命令行,python,argparse,ArgumentParser,add_argument)