运行Python脚本时在命令行中传入参数

当在命令行中,运行python脚本时,通常有两种方式传入参数

方法1: 基于位置的参数传入

即根据输入参数的的位置,分配给对应的脚本文件。此时,要特别注意参数顺序的一一对应。

  • python脚本文件script.py
import sys

def add(a, b):
    print(float(a)+float(b))

if __name__ == '__main__':
	arg1, arg2 = sys.argv[1], sys.argv[2]   # 接收位置参数
	add(arg1, arg2)

需要注意的是,此时传入的参数都会被默认为str类型,需要在函数内部进行解析和转换。

  • 命令行执行脚本
python script.py 3.0 4.0
# 返回结果7.0

方法2: 基于参数名称的传入
利用argparse模块,在函数内定义好相关的命名参数(包括名称、数据类型和默认值等),从而在命令行中可以方便的调用。

  • python脚本文件script.py
import argparse

parser = argparse.ArgumentParser(description='a demo of script')
parser.add_argument('--a', type=float, default=0.0)  # 添加变量
parser.add_argument('--b', type=float, default=1.0)

if __name__ == '__main__':
    args = parser.parse_args()   # 解析所有的命令行传入变量
    add(args.a, args.b)

值得注意的是:add_argument中设定的变量数据类型,理论上可以是任何合法的类型,但一般仅使用bool, int, str, float这些基本类型,更复杂的类型可以在这些基本类型的基础上进行解析。

  • 命令行执行脚本
python script.py --a=4.0 --b=3.0
#  另一种写法: python script.py --a 4.0 --b 3.0
# 返回结果7.0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值