命令行给python脚本传参数的几种方式

  • 最简单的方式#

在命令行中调用python脚本传递参数

#传递参数

python test.py  参数1 参数2 参数3

上述参数1默认为python脚本文件。直接执行test.py也是认为脚本文件为参数1.

参数2和参数3位自定义字符。

sys_argv[]为python内建的命令行参数存储列表。

在python中取参数 sys.argv[0] 对应为参数1,取出来的是脚本名test.py。

sys.argv[1] 对应为参数2。

通常使用linux系统函数len(sys.argv)计算包括文件名在内的所有参数个数。

  • 内置argparse#

还可以使用python内置模块(import argparse)进行更加友好的传参,能够在内部指定传递的参数名称和对应的参数类型,同时指定默认的参数数值:

示例:

E:\Code\python\python test_cmd.py --spec1 "参数1" --spec "参数2"

说明:后缀的参数数量没有最大值的限制。

import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('--string', type=str, default=None)
parser.add_argument('--int-input', type=int, default=32)
parser.add_argument('--list-input', type=list, default=[1,2,3])
args = parser.parse_args()
if __name__ == '__main__':
    print(args.string)
    print(args.int_input)
    print(args.list_input)
    # 命令行输入这个
    # python  test_cmd.py --string=python --int-input=10 --list-input=123

你可能感兴趣的:(pycharm,ide,python)