Python脚本在Facebook上发布两次,而不是

2024-04-20 15:16:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个Python脚本,当河流水位超过时,它会在我的Facebook页面上发布警告。我注意到,当它发布到Facebook上时,它会这样做两次。一次有数据,第二次没有数据。我想不出是什么原因导致了第二次发帖。以下是代码的Class部分:

class River():
   def __init__(self, station, stage, major, moderate, flood, action, warn):
       self.station = station
       self.stage = stage
       self.major = major
       self.moderate = moderate
       self.flood = flood
       self.action = action
       self.warn = warn

       if self.major == 0:
            self.major = self.action
       if self.moderate == 0:
            self.moderate = self.action
       if self.flood == 0:
            self.flood = self.action

   def alerts(self):          
        if float(self.stage) < float(self.action):
            pass
        elif float(self.stage) >= float(self.major):
            warn = ('The %s has reached [Major Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.major, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.moderate):
            warn = ('The %s has reached [Moderate Flood Stage: (%sFt)] @ %sFt.\n \n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.moderate, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.flood):
            warn = ('The %s has reached [Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.flood, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)
        elif float(self.stage) >= float(self.action):
            warn = ('The %s has reached [Action Flood Stage: (%sFt)] @ %sFt.\n\n Warnings: \n%s\n\nPlease click the Link below for more information.' % (self.station, self.action, self.stage, self.warn)), link = river_url)
            graph.put_object(parent_object='me', connection_name='feed', message = warn, link = river_url)


def riverlist():
    river_list = []
    for n in range(len(stx_list)):
        station = River(stx_list[n], levels[n], major_lvl[n], moderate_lvl[n], flood_lvl[n], action_lvl[n], warns[n])
        river_list.append(station)
    return river_list

if __name__ == '__main__':
    for river in riverlist():
        print(river.alerts())

类对象上方的代码都是html解析和列表构建,因此为了简洁起见,我没有将其包含在示例中。如果我需要包括它,我会这样做。谢谢你的帮助


Tags: selfurlforobjectlinkactionfloatstage