2

こんにちは、これは私が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 ソースにアクセスできません。

どのようなエラーが考えられますか?

4

1 に答える 1

1

メッセージが示すように、get_combosはモジュールの機能ではありませんQuickSky。このモジュールの内容は で確認できますdir(QuickSky)

代わりにクラスget_combosのメソッドのようです。適切な引数QuickSky.Mapperを使用して、この後者のインスタンスを作成する必要がある場合があります。dets

于 2012-09-25T17:09:35.183 に答える