问题描述
- python可变参数传递给方法问题
-
import sys
def foo(a, b=None, c=None):
print(b,c)foo(sys.argv[1],sys.argv[2],sys.argv[3])
脚本从sys.argv获得参数,必须上面写才能获得b,c的值
执行 python 51.py 1 2 3像foo(sys.argv[1:]) 所有变量作为列表传给a,b,c仍为空。
请指点该如何处理?
解决方案
解决方案二:
通过参数名称来指定。用getopt
解决方案三:
这样调用函数就可以了:
foo(*sys.argv[1:]) 在函数调用的时候使用 * ,*具有解包功能,它会把argv[1:]解包,然后按照位置来匹配各个参数的值
时间: 2024-09-15 15:35:22