将列表放入函数

时间:2017-03-23 15:44:32

标签: python list function parameters splat

我有一个清单

fb_param_list = ['Fb01', 'Fb02',..., 'Fb76', 'Fb77']总共62个元素

我想使用的是我的函数中的参数

def get_data(timeFrame,period,*args):
  for chute in args:
    try:
        ret = get   (Period=period,
                    DataSet=dataSet,
                    ServiceName=serviceName,
                    Metric=chute,
                    MethodName=methodName,
                    Marketplace=marketPlace,
                    StartTime=timeFrame,
                    Stat=stat)
        metric = ret[u'Datapoint']
        #print metric
        diverts = (sum([float(elem[u'Val']) for elem in metric]))
        print ('Diverts in the last ' + timeFrame + ' is: ' + str(diverts) + ' for ' + chute)
    except:
        diverts = "error you f'd up"
    finally:
        print diverts

然后我调用这个函数

get_data('Fa60','-PT5M',*fb_param_list)

我最终得到的是62行error you f'd up

所以我的循环正在运行,但我不认为我将参数传递给Metric

我错了什么?值得注意的是get函数中的其他参数是在其他地方声明的常量但我知道这些工作。我还通过调用单个变量而不是使用列表来测试此函数。

1 个答案:

答案 0 :(得分:1)

使用Jon Clements帮助打印我的例外

except Exception e: print (e)

我看到了我的错误

'不正确的期间值:-PT5M`

我没有通过调用

来改变我现在调用它的功能的方式

get_data('-PT5M','OneMinute',*fa_chute_list)代替get_data('Fa60','-PT5M',*fb_param_list)