我编写了一个 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())
Class 对象上面的代码都是 html 解析和列表构建,所以为了简洁起见,我没有将它包含在示例中。如果我需要包含它,我会这样做。谢谢您的帮助!