首页 >>  正文

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监控+企业微信机器人告警

夏邹物2438学习python需要什么必备的基础呢?
迟贱滢18145666536 ______ 首先,感谢邀请啦~学习Python,个人感觉没有什么特殊需要准备的,只要你对编程有一颗热忱之心就可以了,但是非要说的话,我理解的大概是以下几点吧,仅供参考~需...

夏邹物2438软件开发容易学吗?
迟贱滢18145666536 ______ 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程.软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程.软件一般是用某种程序设计语言来实现的.常见的软件开发语言有Java、Python、C、C++、PHP等,其中Java和Python已经逐渐成为了未来程序员选择较多的热门语言.那么计算机软件开发难学吗?虽然说软件开发相比Web前端、软件测试等需要掌握的知识更多一些,学习难度也更大一些,但是,计算机软件开发难不难学归根结底是因人而异、因方法而异的

夏邹物2438python程序设计:输入5个考试分数,求平均值 -
迟贱滢18145666536 ______ 举个例子,你可以先用len(L)获取list的总数,然后用sum(L)函数获取总和,然后用sum(L)/len(L)就可以了

夏邹物2438如何从不懂编程到变成一个大神?
迟贱滢18145666536 ______ 感谢邀请!如何从不懂编程到变成一个大神?首先我想说这个是可以达到的,但是需... 当今火热的编程语言非 Python 莫属了.人工智能的火爆带动 Python 的崛起,当然,...

夏邹物2438软件开发难吗? -
迟贱滢18145666536 ______ 你想做一个软件,首先就是设计它的程序,现在用的基本都是 C++(本人也在学,一为兴趣2为过级) 学编程个人觉得不难,不过要用心,要记忆很多的东西,还要经常上机操作. 现在的程序不是以前DOS用的了,编程好了你还要弄好你的软件界面. 计算机是个很大的范围,哪学好点这个难说,不过如果你很喜欢计算机,我不得不告诉你,学计算机的人太多了!市场早就满负荷了.这样说,我许多朋友本科计算机系出来,基本都在电脑公司工作,买电脑啊,售后维修,要不就是进公司做点网页,或者维护公司的内部网络和计算机. 如果你想进软件开发公司工作,难,如果你想进知名度高的软件开发公司工作(金山啊,瑞信啊,甚至谷歌)更难!

夏邹物2438python支持C语言语法吗? -
迟贱滢18145666536 ______ 支持C语言语法,但要你自己实现语法分析器.python的模块导入机制中,可以自定义一些动作,以支持不同语法的导入.但一般情况没有必要这样做,python语法已经够好了,没有必要改成C语法.CPy...

夏邹物2438初一学编程难吗? -
迟贱滢18145666536 ______ 学编程不要看哪个容易就学哪个,程序语言其实都一样的,只是工具而已,它们各有各的优点,各有各的缺点.学程序设计要得有些计算机基础,如果只是新手的话,对数学和英语的要求并不高,但学深了话,...

夏邹物243812345//100%10在python是什么意思? -
迟贱滢18145666536 ______ %s在python中的意思是print的格式化输出,也就是打印字符串.Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式,s代表字符串.格式符为真实值预留位置,并控制显示的格式.格式符可以包含有一个类型码,用以控...

夏邹物2438Java学起来会不会很难? -
迟贱滢18145666536 ______ 我是从事Java方面工作的,简单的给你一些建议吧.首先,Java的学习并不是很困难,Java是一种面向对象的语言,因而在程序设计思路上要比C类的语言简单得多,但是Java最重要的基础,起步越踏实,后期的学习越简单.但问题在于Java的...

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

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