在这个例子中,星号操作符对输入参数列表做了什么?
def main(name,data_dir='.'): print 'name',type(name) if __name__ == '__main__': main(*sys.argv)
具体来说,如果我用星号操作符运行程序,它将打印出来:
name <type 'str'>
如果运行没有星号main(sys.argv),它打印:
name <type 'list'>
解决方法
*运算符
unpacks an argument list.它允许您使用列表项作为单个参数调用函数.
例如,如果sys.argv是[“./foo”,“bar”,“quux”],main(* sys.argv)相当于main(“./ foo”,“quux”) .