0
点赞
收藏
分享

微信扫一扫

三种方式通过命令行参数进行函数传参,更加灵活

有时在函数中传参时,传入的参数是不规则,且是固定的格式,不是很灵活,那么就需要通过命令行参数进行传参,这样传入的参数会根据自己的需要,传入不同的参数。


第一种方式:sys.argv


此方式传参较为简单,只需要在后面输入随意的参数,并且可以多输入几个参数,通过命令:


import sys
def test1():
print(sys.argv)


>python test.py 参数1 参数2 参数3
#输出结果
['test.py', '参数1', '参数2', '参数3']

第二种方式:argparse模块


此方式较为麻烦,不过可以指定传参的变量名,传参类型,默认值,以及是否是必须输入,这样可以有效的对某个参数是否是必须的,做了一个限制,可以防止程序出错。


import argparse
def test2():
parser = argparse.ArgumentParser(description="这是参数测试对象")
parser.add_argument('--a', dest='inte', default=None,type=int,required=True)
print(parser.description)
args = parser.parse_args()
print(args.inte)
>python test.py --a 12321
#输出结果
这是参数测试对象
12321

第三种方式:fire模块


通过这个模块,也可以随意的进行传参。


import fire
def test3(name:str,age:int):
print(name,age)
if __name__ == '__main__':
fire.Fire(test3)


>python test.py -name zhangsan -age 20
#输出结果
zhangsan 20

总结:以上就是三种方式进行python命令行传参的方式,在某些场合下,通过命令行的方式运行函数是由一定的需要的。最起码不用打开修改代码了,直接运行该py文件就行。


举报

相关推荐

0 条评论