“意外”TypeError:意外关键字

时间:2015-09-15 15:26:37

标签: python python-2.7 typeerror keyword-argument

我已将此功能写入我的包中。

def partitionIntoDays(ls, number, lookupKey=None):
    ''' Partitions the location measurements into days.
    @ls: The list of measurements you want to partition
    @return: A dictionary in the format {'Number of partition':
    'List of measurements'}'''
    if len(ls) == 0:
        return {0: []}
    firstMidnight = TimeAux.localTimeToEpoch(Delorean(TimeAux.epochToLocalTime(ls[0].time, TIMEZONE)).midnight())
    return splitByTimedelta(ls, delta=number*24*3600, lowerBound=firstMidnight, lookupKey=lookupKey)

但是每当我尝试从脚本调用该函数时,我都会收到以下错误:

TypeError: partitionIntoDays() got an unexpected keyword argument 'lookupKey' 

但是如果我手动导入函数,我可以检查函数是否有参数。例如,我在调试pdb中的上述错误时甚至可以这样做。

import geogps.Partition as pt
pt.partitionIntoDays.func_code.co_varnames
>>>>('ls', 'number', 'lookupKey', 'firstMidnight') 

此外,上述代码在Python 3.4中运行良好。 我总之大为惊讶。

1 个答案:

答案 0 :(得分:1)

所以我明白了:虽然没有挥之不去的pyc文件,但我的包结构搞砸了,我在嵌套文件夹中有一个无关的文件。 谢谢@bruno-desthuilliers指出我的正确方法。