首页 >>  正文

python程序设计基础电子版

来源:baiyundou.net   日期:2024-09-21

作者:王忘杰

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

应薇饼3940Python培训需要学习哪些内容
黎芬垄15580093825 ______ 学习Python编程需要学习:第一阶段:Python语言及应用 课程内容:Python语言基础,面向对象设计,多线程编程,数据库交互技术,前端特效,Web框架,爬虫框架,网络编程 掌握技能:(1)掌握Python语言语法及面向对象设计;(2)掌...

应薇饼3940Python从入门到精通要看哪些书 -
黎芬垄15580093825 ______ Python入门到精通学习书籍推荐! 1、Python基础教程(第2版 修订版) 《Python基础教程(第2版修订版)》包括Python程序设计的方方面面,内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python...

应薇饼3940学习Python怎么规划时间比较好? -
黎芬垄15580093825 ______ python学习规划第一步:python基础 必学知识:python基础语法、字符串、安装python相关软件 在这一阶段大家主要是对python有一个初步了解,建立正确的python编程逻辑 python学习规划第二步:python编程 必学知识:Pandas数据清洗、...

应薇饼3940Python是脚本还是语言 -
黎芬垄15580093825 ______ Python是脚本语言. Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发. Python的设计哲学是...

应薇饼3940python入门程序设计作业 -
黎芬垄15580093825 ______ coinprice={"1分":1,"2分":2,"5分":5,"1角":10,"2角":20,"5角":50} coins=["5角","2角","1角","5分","2分","1分"] price=float(raw_input("请输入物品价格(元):")) if price>1 or price <0: print "价格输...

应薇饼3940python考到什么级别是全国计算机二级 -
黎芬垄15580093825 ______ 考到二级,Python二级全称为全国计算二级Python语言程序设计,是全国计算机二级考试的其中一类,考试成绩合格之后便会拥有一份国家二级证书.目前含金量比较高的Python证书是1.阿里python工程师实习证书.2.腾讯python工程师实习证书.3.字节python工程师实习证书.4.美团python工程师实习证书,毕竟做项目的硬技术比证书更重要.

应薇饼3940如何提升Python编程能力 -
黎芬垄15580093825 ______ 一、Python之禅(The Zen of Python) The Zen of Python是Python语言的指导原则,遵循这些基本原则,你就可以像个Pythonista一样编程.具体内容你可以在Python命令行输入import this看到: The Zen of Python, by Tim Peters Beautiful is ...

应薇饼3940python程序设计 -
黎芬垄15580093825 ______ # 如果能利用正则表达式(re模块)可能程序会更简单些. str_test = input("please enter a string: ") buf_float = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'] def fun(test): buf_str = list(test) for m in range(0, len(buf_str)): if buf_str[m] not in buf_float: buf_...

应薇饼3940求推荐适合毫无编程基础的python入门书 -
黎芬垄15580093825 ______ 适合完全没有编程基础的新手使用?Learn Python The Hard Way 是你唯一的、最终的、史诗级的选择.它也许不能和 _why 的 why's (poignant) Guide to Ruby 重口味相提并论,但是作为不说废话、以练习为导向的教材,它是少林长拳一般的存在...

应薇饼3940...在编程语言中是什么地位?为什么很多大学不教 Python? -
黎芬垄15580093825 ______ 先说一下国内的编程语言,或程序设计教学的背景 国内的大学本科 工科类的大多数程序设计课程,是以C语言为基础的 ,有的课程更直接的写为C语言程序设计 ,虽然有的名称为C++ ,并且利用Visual C++的IDE集成环境 ,但对于工科计算机...

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