最简单的方式#
在命令行中调用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