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仍为空。
请指点该如何处理?
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仍为空。
请指点该如何处理?
这样调用函数就可以了:
foo(*sys.argv[1:]) 在函数调用的时候使用 * ,*具有解包功能,它会把argv[1:]解包,然后按照位置来匹配各个参数的值