python判断是否为三位数
作者:王忘杰
全民制作人大家好,我是学习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监控+企业微信机器人告警
饶祁购1330python3判断是字符串中包含某些特定字符 -
糜瑶重18024698989 ______ #! /usr/bin/python # -*- coding: utf-8 -*- import re zhPattern = re.compile(u'[\u4e00-\u9fa5]+') #一个小应用,判断一段文本中是否包含简体中: contents=u'一个小应用,判断一段文本中是否包含简体中:' match = zhPattern.search(contents) if match: print u'有中文:%s' % (match.group(0),) else: print u'没有包含中文'
饶祁购1330python判断字符串是否为数字 -
糜瑶重18024698989 ______ 正则匹配法比较严谨一些,你说的数字有没有条件限制? 下面是一些常用的判断各种数字的正则表达式: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0...
饶祁购1330用python定义一个函数判断三位数是不是回文数? -
糜瑶重18024698989 ______ x = input("请输入一个三位数:") if x[0] == x[2]: print(x,'是回文数字!') elif x[0] != x[2]: print(x,'不是回文数字!')
饶祁购1330Python3,怎样重复进行多次判断? -
糜瑶重18024698989 ______ hiiii,我用的是Wing IDE 101 3.1,应该可以吧.这个问题我们可以用一个简单的recursion.def identify(c): '''定义一个简单的识别函数''' if 'abc' != c: #当c不等于'abc'的时候 c1 = raw_input('try again:') #让使用者重新输入字符c1 return identify(c1...
饶祁购1330python如何判定字符串的前几个字符是不是数字 -
糜瑶重18024698989 ______ str="123abcd" str[:3].isdigit() 判断字符串前面3个字符是不是数字 先用[:位置值]切片,然后用isdigit判断是否数字
饶祁购1330python的is和is not运算符是干什么用的 -
糜瑶重18024698989 ______ 简单来说,python中的is与is not运算符可判断两个对象是否为同一对象. 若为同一个对象,则对象1 is 对象2为True . 反正,若非同一个对象,则对象1 is not 对象2为True 要理解Python中的is和is not运算符,首先需要知道Python中...
饶祁购1330Python中,如何判断字符串是由纯数字组成? -
糜瑶重18024698989 ______ Python中提供了3个判断字符串的方法. 分别是: 字符串.isdecimal() 字符串.isdigit() 字符串.isnumeric() 这三个方法都可以判断字符串是否是由纯阿拉伯数字构成,即0-9组成的数字. 这三个方法的区别: 字符串.isdecimal() :只能...
饶祁购1330猜数字python解法 -
糜瑶重18024698989 ______ a = '1459' for x in range(7): j = 0 b = str(input('请输入4个数字:')) # 判断输入的是否为4位 if len(b)!=4: print("输入有误") break # 判断输入的是否为数字 try: float(b) except: print("输入有误") break for i in range(4): if b[i]==a[i]: j=j+1 print(str(j)+'A'+str(4-j)+'B') if j==4: print("恭喜你赢了") break print("游戏结束")
饶祁购1330python 如何判断 abc - def - ghi - 1 最后一位是不是数字 -
糜瑶重18024698989 ______[答案] s = 'abc-def-ghi-1' print s[-1].isdigit()
饶祁购1330python 3.2.3 如何判断数据是否为整形?
糜瑶重18024698989 ______ 假设a 是整型,如下: a=100 使用下面的代码可以判断是否整型: import types a=100 type(a)==type(1) 最后一个表达式的值就是你要的结果了