0

我有一个创建对象实例并执行实例方法的顶级脚本。我很困惑如何从 alarm_handler 文件中执行 fetcher 的方法。具体来说,status = fetcher.get_status下面的“ ”行。希望这对我的要求有意义。如果我能澄清任何事情,请告诉我。

***file: master***
import fetcher
import alarm_handler
fetcher = fetcher.Fetcher()
alarms = alarm_handler.AlarmHandler()
site_status = alarms.compare_status()

***file: fetcher***
class Fetcher(object):

    def fetch(self)
        fetch a bunch of internet data

    def get_status(self)
        fetch some other internet data

***file: alarm_handler***
from master import fetcher
class AlarmHandler(object):

    def compare_status (self)
        status = fetcher.get_status()
        status_comparison = status comparison stuff
        return status_comparison
4

1 回答 1

2

您正在创建循环导入。不。

也许您想将fetcher实例传递给AlarmHandler.compare_status()方法?

import fetcher
import alarm_handler

fetcher = Fetcher()
alarms = AlarmHandler()
site_status = alarms.compare_status(fetcher)

或者在创建AlarmHandler()实例时将其传入:

import fetcher
import alarm_handler

fetcher = Fetcher()
alarms = AlarmHandler(fetcher)
site_status = alarms.compare_status()
于 2013-10-07T15:54:50.430 回答