首页 >>  正文

python中怎样判断完数

来源:baiyundou.net   日期:2024-07-16

作者:王忘杰

全民制作人大家好,我是学习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监控+企业微信机器人告警

越雨封3686python判断一个集合是否包含了另外一个集合中所有项的方法 -
于李褚17752808966 ______ s = set([1, 3, 4, 3])data1 = 3data2 = 2if data1 in s: print("%d 在集合中." % data1)else: print("%d 不在集合中" % data2)if data2 in s: print("%d 在集合中." % data1)else: print("%d 不在集合中" % data2)

越雨封3686Python中,如何判断字符串是由纯数字组成? -
于李褚17752808966 ______ Python中提供了3个判断字符串的方法. 分别是: 字符串.isdecimal() 字符串.isdigit() 字符串.isnumeric() 这三个方法都可以判断字符串是否是由纯阿拉伯数字构成,即0-9组成的数字. 这三个方法的区别: 字符串.isdecimal() :只能...

越雨封3686python怎么判断小数后面数字是否全为0 -
于李褚17752808966 ______ if not f-int(f):这样判断就行,换成int后相减如果为0,则全为0 f = 5.4 t = 6.0000 if not f-int(f): print "小数点后全零" else: print f if not t-int(t): print "小数点后全零" else: print t

越雨封3686请问Python中如何判断一个变量是否已经定义了? -
于李褚17752808966 ______ 用locals()函数if locals().has_key("ss"): print locals["ss"]

越雨封3686“python”中怎么判断字符串相等?
于李褚17752808966 ______ 1:发现m=input();输入'xinwen'后按回车. 2:m的值是 'xinwen\r',原因就在这里. 3:而在解析器中则没有这个问题. 4:你用的应该不是python3吧,麻烦你告诉我你用的python的版本 不好意思,不过我要说,你说s.attrib.get('...

越雨封3686在Python语言中,如何判断一个字符串是否全部由符号(如:@#¥等等)构成? -
于李褚17752808966 ______ 你好!这个不要用分支语句,要用正则或者判断acsii码才比较方便.仅代表个人观点,不喜勿喷,谢谢.

越雨封3686python中怎么判断负数?.isdigit貌似只能判断整数,有没有什么方法可以判断所有整数的, -
于李褚17752808966 ______ 可以考虑使用正则表达式定义一个函数 1 2 3 fromre importmatch defis_zhengshu(n): return(match('^[+-]{0,1}\d+$', n) isnotNone)

越雨封3686python 怎么判断读到得内容不为空 -
于李褚17752808966 ______ a=[] if a: print('列表非空') else: print('列表为空')

越雨封3686怎样用python判断整数 -
于李褚17752808966 ______ import types if type(var) in [types.IntType,types.LongType]: body else: body 注意IntType和LongType,因为1是IntType,但是1L就是LongType >>> import types >>> dir(types) ['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', ...

越雨封3686python多进程怎么判断所有进程结束 -
于李褚17752808966 ______ python执行ps -ef | grep XXX XXX为你的进程,当有返回值的时候,说明你的进程存在,python检查系统进程其实调用的也是linux的shell

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024