首页 >>  正文

python判断单元格是否为空

来源:baiyundou.net   日期:2024-08-24

作者:王忘杰

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

印逄怪4862VBA判断单元格是否是数字 -
郗飞博19578007788 ______ 两个地方有问题: 1、对列的循环,end的参数应为"xltoright" 2、对条件的判断.只要单元格里的字符是数字,isnumeric函数都会判断为“真”,它不会管你单元格是“数值”,还是“文本”.应先用typename函数判断单元格的类型,如果不是数值,再用isnumeric函数判断单元格值的字符是否是数字,如果是数字,将其转化为数值,如果不是数字,就按你的需要进行处理.

印逄怪4862python 如何判断一个变量是一个列表? -
郗飞博19578007788 ______ 动态语言一般用的都是鸭子类型,最好不要去判断,或者限制一个变量的具体类型,只要这个变量能完成你的目标就可以了. python内建的方法是isinstance >>> isinstance({},dict) True >>> isinstance(5,dict) False >>> isinstance([],dict) False python官方文档在说明type函数的用法时,明文推荐用isinstance测试对象类型.

印逄怪4862如何判断一个单元格是否是合并单元格 -
郗飞博19578007788 ______ 亲,拿单元格A1举例吧: IF Range("A1").MergeCells = True Then 如果A1是合并单元格,则

印逄怪4862可不可以用函数判断单元格是文本还是数值 -
郗飞博19578007788 ______ =CHOOSE(TYPE(A1),1-(A1=""),0)="是"&CHOOSE(TYPE(A1),IF(A1="","空","数"),"文本")

印逄怪4862python 怎么把excel文件单元格的格式和内容一起读取出来 -
郗飞博19578007788 ______ python有很多包可以操作excel单元 其中我用过的有xlrd ,xlwt 一个读一个写, 另外可用 openpyxl或者XlsxWriter 进行读写, 非常简单 读写单元格只需按列表一样读写元素即可 ws['A1'] = 42 a = ws["A2"] 对应的python模块用法可以参考网上教程!

印逄怪4862怎么判断某一列中的某个单元格的内容 -
郗飞博19578007788 ______ ISError判断是否是错误值,ISnumber判断是否是数字格式,ISblank判断是否是空值,IStext判断是否是文本格式,IS类的函数很多,可以查一下

印逄怪4862listview判断单元格是否为空vb6.0 -
郗飞博19578007788 ______ If Listview1.ListItems(1).SubItems(1) = "" Then Msgbox "该单元格内容为空" End If'ListItems(1)是定位行,1是第一行,如果第2行就是2'SubItems(1)是定位列,如果是第一列应当改成Listview1.ListItems(1).Text,第二列才是Listview1.ListItems(...

印逄怪4862判断某一个单元格公式是否正确 -
郗飞博19578007788 ______ 在模块中输入如下获取单元格公式的自定义函数 Public Function GetFormula(Range1 as Range) GetFormula=Range1.Formula End Function 在A4输入 "=if(GetFormula(a3)="=SUM(A1:A2)","对","错")即可, 当然你也可以对A3设置条件格式,当正确时以不同颜色显示.

印逄怪4862怎么知道一个单元格内容的格式? -
郗飞博19578007788 ______ 写一个函数可以知道:具体如下,供参考! Function CellType(Rng) ' 返回单元格内容的格式 ' cell in a range Dim TheCell As Range Set TheCell = Rng.Range("A1") Select Case True Case IsEmpty(TheCell) CellType = "Blank" Case ...

印逄怪4862这个语句可判断 If Cells(j, 2) ="" Then 这个单元格“Cells(j, 2)”是空白单元格吗? -
郗飞博19578007788 ______ 建议你使用下面这句:If Range("J1") = "" Then MsgBox "这个单元格Cells(J, 1)是空白单元格" 或者 If Cells(1, 10)= "" Then MsgBox "这个单元格Cells(1, 10)是空白单元格" 反正不能写成你的那个样式.你所认为的Cells(j, 2) 应等效的写成 Cells(1, 10) 或者 Range("J1") .

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