python+and+not
作者:王忘杰
全民制作人大家好,我是学习python两天半的练习生王忘杰,喜欢路由交换、linux、网络安全,开整!这是我的第二篇0基础python文章,请大家支持,谢谢~
开发思路
用于监控指定的URL,在我的场景中,我是从腾讯VPS上监控公司宽带出口,当URL访问超时时,即为宽带故障。
设计思路很简单,访问失败发送告警,访问成功发送恢复通知,同时要使用配置文件进行配置,防止持续重复告警。
绘制开发流程图
使用python语言实现
#!/usr/bin/python3import requests
import time
import json
import os# 监测URL是否正常响应def url_check(url): # 当前时间 check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
try: # 请求URL, 设置3s超时, 忽略SSL证书 r = requests.get(url, timeout=3, verify=False)
if r.status_code == 200:
fo = open(config,"r")
line = fo.read(1)
print(line) #判断配置文件内容 if line == "1":
print("发送报警")
fo.close()
fo = open(config, "w")
fo.write('0')
print("配置重置为0") # 请求响应状态 msg = "监控的URL:%s%sURL恢复状态正常:%s%s监测时间:%s" % (
url, "nn", r.status_code, "nn", check_time) # 推送消息 yun_push(msg)
else:
print("当前配置为",line)
fo = open(config, "w")
fo.write('0')
print("配置重置为0")
else:
fo = open(config, "r")
line = fo.read(1)
print(line)
if line == "1":
print("退出程序")
else:
print("发送报警")
fo.close()
fo = open(config, "w")
fo.write('1')
print("配置重置为1") # 请求响应状态 msg = "监控的URL:%s%sURL访问异常:%s%s监测时间:%s" % (
url, "nn", r.status_code, "nn", check_time) # 推送消息 yun_push(msg)
except:
fo = open(config, "r")
line = fo.read(1)
print(line)
if line == "1":
print("退出程序")
else:
print("发送报警")
fo.close()
fo = open(config, "w")
fo.write('1')
print("配置重置为1") # 请求响应状态 msg = "监控的URL:%s%sURL访问失败,无法连接%s监测时间:%s" % (
url, "nn", "nn", check_time) # 推送消息 yun_push(msg)
def yun_push(content):
url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=用自己的'
s = json.dumps({'msgtype': 'text', 'text': {"content" : content}})
print(requests.post(url, data=s).text)
if __name__ == '__main__': #判断配置文件是否存在,不存在则生成配置文件并退出,配置文件则存在执行 config = './baidu.config'
if not os.path.exists(config):
print("配置文件不存在")
file = open(config,'w')
file.close()
print("配置文件已生成")
else:
print("配置文件存在,执行URL检测")
url_check("https://www.baidu.com/")
运行效果
正式使用
在VPS部署python脚本,并设置定时任务即可
查看文章精彩评论,请前往什么值得买进行阅读互动
","gnid":"96c6a833d821e0468","img_data":[{"flag":2,"img":[{"desc":"","height":"274","title":"","url":"https://p0.ssl.img.360kuai.com/t015394727360c3cdc6.jpg","width":"600"},{"desc":"","height":"616","title":"","url":"https://p0.ssl.img.360kuai.com/t016ff92dc7f2116c3c.jpg","width":"359"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1683810195000,"pure":"","rawurl":"http://zm.news.so.com/41b69145e2771cb08cd67bac9f05abc6","redirect":0,"rptid":"4cdf902d8b0d23e5","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:机器人","k":"机器人","u":""}],"title":"0基础上手python编程,实践URL监控+企业微信机器人告警
慎剂炊1068Python定义函数实现求m~n和,并调用函数计算200~1000和550~10000的和 -
洪品所18526336325 ______ 按照你的要求编写的定义函数求m~n和的Python语言程序如下 def summary(m,n):s=0 for i in range(m,n+1):s=s+i return s print(summary(200,1000)) print(summary(550,10000)) 源代码(注意源代码的缩进)
慎剂炊1068计算s=1+4+7+…+n,输出当s不大于100时的最大的n的源程序python -
洪品所18526336325 ______ #include <stdio.h> void main(void) { int i, s=0; for(i=1;s<=1000;i+=3) s+=i; printf("%d",i-3); }
慎剂炊1068用Python计算1+2+...+n,不用函数做,为什么运行的时候提示我x没有定义?? -
洪品所18526336325 ______ n = int(......)# x = 0 for i in range(1,n,1): x = x + i print(x)
慎剂炊1068是python的题目,帮我算一下,谢谢,不知道是怎么算的,and和or又是什么作用 -
洪品所18526336325 ______ 不加括号的情况下 not的优先级大于and, and的优先级大于 or 所以上式等价于 (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) = 0 or 0 or 4 or 6 or 9 = 4 and运算时,如果第一个为False返回第一个值,否则返回第二个值 or 运算时,如果第一个为False返回第二个值,否则返回第一个值 所以 0 and 1 = 0 3 and 4 = 4 5 and 6 = 6 7 and 8 and 9 = 9 0 or 4 or 6 or 9 = 4
慎剂炊1068怎样在python中生成一串0到n的数字名相加 -
洪品所18526336325 ______ def print_plus(n): t = n+1 for i in range(t): ostr = str(i) if i == 0: strs = ostr + '+' elif i strs += ostr + '+' else: strs += ostr else: return strs print print_plus(6)代码如上.结果如图:
慎剂炊1068Python换行符问题:\r\n还是\n? -
洪品所18526336325 ______ 这不是python的问题,windows的换行是\r\n,unix的是\n,mac的是\r.
慎剂炊10681+2+3+...+n(自定义n的值),必须递归定义函数function python(n的值){得出结果} -
洪品所18526336325 ______ var python = function(n){ if(n == 0) return 0; else return python(n-1) + n; }; console.log(python(5));
慎剂炊1068python中+加号什么意思– 智联问道 -
洪品所18526336325 ______ name=;;while not name:name=raw_input(u;请输入姓名:;) print name python中的not具体表示是什么:在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:(1) not与逻辑...
慎剂炊1068设计一个python程序.按公式s=1的平方+2的平方+….+n的平方,求累加和s不超过1000的最大项数n -
洪品所18526336325 ______ s = n = 0 while s < 1000: n += 1 s += n*n print(n - 1)