import datetime

import json

import requests

from exception import AsstException #自定义

from log import logger #自定义

class Messenger(object):

def __init__(self, sc_key):

if not sc_key:

raise AsstException('sc_key can not be empty')

self.sc_key = sc_key

def send(self, text, desp=''):

if not text.strip():

logger.error('Text of message is empty!')

return

now_time = str(datetime.datetime.now())

desp = '[{0}]'.format(now_time) if not desp else '{0} [{1}]'.format(desp, now_time)

try:

resp = requests.get(

'https://sc.ftqq.com/{}.send?text={}&desp={}'.format(self.sc_key, text, desp)

)

resp_json = json.loads(resp.text)

if resp_json.get('errno') == 0:

logger.info('Message sent successfully [text: %s, desp: %s]', text, desp)

else:

logger.error('Fail to send message, reason: %s', resp.text)

except requests.exceptions.RequestException as req_error:

logger.error('Request error: %s', req_error)

except Exception as e:

logger.error('Fail to send message [text: %s, desp: %s]: %s', text, desp, e)

if __name__ == '__main__':

from config import global_config

messenger = Messenger(global_config.get('messenger', 'sckey'))

messenger.send(text='标题', desp='内容')

python编写自定义模块_python 自定义Server酱模块编写相关推荐

  1. python如何自定义模块_python自定义模块和开源模块使用方法

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  2. python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...

    模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

  3. python第七章_python 第七章 模块

    模块 一个py文件就是一个模块 模块一共三种:1.python标准库 2.第三方模块 3.应用程序自定义模块 import:1.执行对应文件 2.引入变量名 if__name__="__ma ...

  4. python必学的模块_Python必学的模块有哪些?

    展开全部 简单来说,模块就是一堆代码实现某个功32313133353236313431303231363533e4b893e5b19e31333433653866能,它们是已经写好的.py文件,在我们 ...

  5. 如何下载python模块_Python第三方库(模块)下载和安装(使用pip命令)

    进行 Python 程序开发时,除了使用 Python 内置的标准模块以及我们自定义的模块之外,还有很多第三方模块可以使用,这些第三方模块可以借助 Python官方提供的查找包页面(https://p ...

  6. python自带笔记本电脑_Python内置常用模块

    time和datatime Range os sys hashlib XML json & picle 1.time和datetime time和datetime都是python处理时间和日期 ...

  7. python爬虫模块_python实现爬虫的模块总结

    网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.其本质就是利用脚本发送请求,解析响应,然后提取有用信息,最后保存下来. python由于语法简单,可 ...

  8. python编程语言模块_Python基础编程常用模块汇总

    3.8 json模块重点 json模块是将满足条件的数据结构转化成特殊的字符串,并且也可以反序列化还原回去. 不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串.(比如Python的一个列 ...

  9. python找不到os模块_Python中的OS模块:您需要知道的一切

    Python是当今业界最强大的编程语言之一.由于Python具有许多特性和强大的通用性,许多复杂的编程目标可以很容易地在Python中实现.在本文中,我们将按照以下顺序讨论Pyt Python是当今业 ...

  10. python re模块_python 正则表达式 (重点) re模块

    京东的注册页面,打开页面我们就看到这些要求输入个人信息的提示. 假如我们随意的在手机号码这一栏输入一个11111111111,它会提示我们格式有误. 这个功能是怎么实现的呢? 假如现在你用python ...

最新文章

  1. minist读取一张图片
  2. 数据结构-串操作应用之词索引表
  3. 出去旅行带上这些常用日语就够啦!
  4. github高级搜索技巧_【建议收藏】百度 quot;隐藏quot; 的高级搜索技巧
  5. Python小游戏(小蜜蜂)
  6. Google云服务降价,整合持续集成工具,支持Windows和托管虚拟机
  7. 设计灵感|什么样的登录页能让用户感到体贴?
  8. python—scipy.stats.multivariate_normal
  9. python源代码怎么用_Python写完代码怎么用
  10. jq ui-selectable中click单击事件,dblclick双击事件无效
  11. 信息系统项目管理师考试经验和心得
  12. 今日恐慌与贪婪指数为10 恐慌程度稍有上升
  13. pyqt5动态设置字体大小
  14. 当你心情不好的时候,看看这几句话。。。
  15. 计算机是如何跑起来的百度云,《程序是怎样跑起来的》(下)
  16. opencv实战——图像矫正算法深入探讨
  17. HBase初识之学生心得总结
  18. 用 Python 分析了所有微信好友,发现了一个秘密...
  19. 使用composer开发dfc程序
  20. 如果编程语言是女孩子……

热门文章

  1. 阿里某P5程序员求助:跟女票要结婚,她家要50万彩礼,女票爸爸说钱不够可以先欠着,这婚能结吗?欠条以后能赖吗?...
  2. 某短视频程序员吐槽:公司要求每天刷短视频的时长和绩效挂钩,这合理吗?网友:那某陌员工要按照奔现次数算绩效吗?...
  3. 千亿级数据量的Kafka深度实践
  4. Java 编程技巧之数据结构
  5. 《Java EE企业级应用开发》,《分布式爬虫》等书包邮送50本!企业开发利器!...
  6. 年赚百万烤肉店老板嘲讽程序员:你们拼死拼活也挣不到100万
  7. 关注这些技术号,你将拥有半个互联网圈
  8. 多店铺多用户商城可以用来干嘛?适合什么样的商业模式?
  9. 什么是体系化?为什么要体系化架构
  10. 逻辑模型设计步骤-确定数据分割策略