AttributeError:'module'对象没有属性'get_combos'

时间:2012-09-25 17:04:58

标签: python methods module attributeerror

你们所有人, 当我用

运行python文件时,这是我的问题
execfile("create_revdict.py")

我得到了

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "create_revdict.py", line 91, in <module>
    combos =  QuickSky.get_combos(det_keys)
AttributeError: 'module' object has no attribute 'get_combos'

但是当我查看从pyc文件导入的QuickSky模块时 我找到了

help(QuickSky)


FILE
    /Users/alessandromanzotti/Downloads/FindSkyArea/QuickSky.pyc

CLASSES
__builtin__.object
    Mapper

class Mapper(__builtin__.object)
 |  This is a Mapper class to map the timedelays to the 
 |  keys
 |  
 |  Methods defined here:
 |  
 |  __init__(self, dets, timescope=10000)
 |  
 |  convert_bin_time(self, bin)
 |  
 |  convert_time_bin(self, t)
 |  
 |  create_combo_error(self, error_dict)
 |  
 |  create_dict(self, grid_size, func_time_dict, *args)
 |      Create the actual reverse dictionary
 |      @param grid_size: grid size in radians
 |      @param func_time_dict: function to return the time dict 
 |                            for a given sky position. 
 |                            fun(lon, lat)
 |  
 |  create_key(self, timedelay_dict)
 |      Create a key from the time delay dict
 |  
 |  create_key_list(self, timedelay_dict, error_dict)
 |      Create a bunch of keys including the errors
 |      @params timedelay_dict: timedelay betwen the different sites
 |      @params error_dict: the individual detector timing errors
 |  
 |  create_key_list_ellipse(self, timedelay_dict, error_dict)
 |  
 |  get_combos(self)
 |      Create all possible combinations from the det_keys list, 
 |      in alphabetical order
 |  
 |  get_point_area_sqd(self)
    get_points(self, listkeys)
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 FUNCTIONS
 define_network(det_keys, flow=10.0)
    Creates the detector network to use
    @param det_keys: list of detectors to be included in the network
    @param flow: The lower cutoff frequency [Hz]

所以似乎QuickSky有一个属性get_combos。

不幸的是我没有写QuickSky.pyc,所以我无法访问QuickSky.py源。

错误是什么?

1 个答案:

答案 0 :(得分:1)

如消息所示,get_combos不是模块QuickSky的功能。您可以使用dir(QuickSky)检查此模块的内容。

看起来get_combosQuickSky.Mapper类的方法。您可能需要使用适当的dets参数创建后者的实例。