Python 综合
文章平均质量分 65
Python 基础知识、常用的模块等。
tz_zs
路漫漫其修远兮,吾将上下而求索
展开
-
Python telegram机器人发送消息
___tz_zs使用 telegram 机器人发送消息给个人或者群,可作为邮件提醒的平替。原创 2022-11-07 00:35:15 · 5339 阅读 · 0 评论 -
Python 深层字典(dict)的value做格式处理
____tz_zsdata={"a":["1","2","3"],"v":["33",'11']}{k: [float(f) for f in l] for k, l in data.items() }{'a': [1.0, 2.0, 3.0], 'v': [33.0, 11.0]}原创 2021-11-13 16:46:51 · 1137 阅读 · 0 评论 -
python 大整数的精确计算——除法(/)、整数除法(//)
____tz_zs误差来源这是因为浮点运算永远只是一个近似值,特别是当你超出了你的CPU能够准确建模的范围(因为浮点运算是在硬件中处理的)。整数除法不需要把整数转换成浮点数,它只需要用整数相除,而在 Python 中,整数可以任意大而不损失精度。big_int = 10 ** 40 + 23print(f"原始: {big_int}")print(f"整数除法: {big_int // 2}")print(f"浮点除法:{int(big_int / 2)}")print(f"浮点除法:{(原创 2021-11-13 16:46:05 · 6407 阅读 · 0 评论 -
python OverflowError: integer division result too large for a float
____tz_zs1、OverflowError: integer division result too large for a floatPython3 中的 int 类型是长整型,可以在计算中处理任意大的整数,而 float 类型有范围,所以下方例子中,极大整数的除法计算造成了溢出错误。big_int = 10 ** 400 + 23print(big_int / 2)# OverflowError: integer division result too large for a float原创 2021-11-13 16:45:45 · 8084 阅读 · 0 评论 -
python 装饰器使用(try except)
____tz_zs原创 2021-11-13 16:47:49 · 1392 阅读 · 0 评论 -
Python websocket之 websocket-client 库的使用
____tz_zs本次,我将从主流的三方框架使用出发,带大家熟悉和使用 Python 中常见的 websocket 库。一、websocket-client 库websocket-client 库是一个简单好用的同步的 websocket 的客户端的库,基于回调的方式使用。pypi地址: https://pypi.org/project/websocket-client/GitHub地址: https://github.com/websocket-client/websocket-client原创 2021-08-04 02:04:15 · 35027 阅读 · 2 评论 -
Python websocket模块 ping/pong控制帧及日志的开启
____tz_zswebsocket-client 版本 0.57.0(一)on_open调用 run_forever 建立连接时,websocket 模块会先 源码 websocket/_app.py > 259 行 > self._callback(self.on_open) 函数 通知 on_open 回调函数,连接建立。(二)on_ping、on_pong服务器发送 ping帧 过来时,websocket 模块会调用 源码 websocket/_app.py > 2原创 2021-02-27 21:41:51 · 6353 阅读 · 1 评论 -
Python psutil 库查看当前进程的内存消耗及系统内存情况
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1183565811281984https://www.cnblogs.com/zhangxinqi/p/9106265.htmlpsutil是个跨平台库,能够轻松实现获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息。它主要应用于信息监控,分析和限制系统资源及进程的管理。它实现了同等命令命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、原创 2020-11-27 15:25:15 · 12968 阅读 · 0 评论 -
Python 发送邮件中格式化显示 json 数据
参考请问如何在html中输出字符串中的换行符两中方式,一是设置 white-space: pre;,空白会被浏览器保留。或者使用 我是换行字 符串,pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。...原创 2020-09-03 20:45:12 · 973 阅读 · 0 评论 -
Python 二进制、八进制、十进制、十六进制之间的转换
1、bin() , oct() 或 hex() 进行十进制整数和二进制、八进制或十六进制的字符串的转换。2、如果不想输出 0b , 0o 或者 0x 的前缀。 可以使用 format() 函数。二进制 bin()# 十进制 转 二进制int_bin = bin(15)print(int_bin) # '0b1111'# 八进制 转 二进值oct_bin = bin(0o17)print(oct_bin) # '0b1111'# 十六进制 转 二进值hex_bin = bin(0xf)原创 2020-05-30 23:26:25 · 2184 阅读 · 0 评论 -
Python 【BeautifulSoup】
____tz_zs笔记 文档地址: https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/源码下载: http://pan.baidu.com/s/1dF0E6AHBeautiful Soup 是一个可以从 HTML 或 XML 文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方...原创 2017-10-24 15:57:41 · 413 阅读 · 0 评论 -
Python 【requests】 网络请求
____tz_zs笔记 requests 模块是一个简洁且简单的处理HTTP请求的工具,支持非常丰富的链接访问功能,包括URL获取, HTTP会话,Cookie记录等。requests 是三方的库(比 Python 自带的 urllib 和 urllib2 好用),所以要先安装(pip install requests)才能使用。官方文档: http://docs.python-req...原创 2017-10-23 02:23:07 · 1287 阅读 · 0 评论 -
Python 【random】
____tz_zs https://docs.python.org/3/library/random.html random()生成一个[0, 1.0)之间的随机浮点数uniform(a, b)生成一个a到b之间的随机浮点数,[ a , b ]randint(a, b)生成一个a到b之间的随机整数,这里的范围是 [ a , b ] ,注意与np中的ra...原创 2017-10-14 12:30:22 · 496 阅读 · 0 评论 -
Python 将 Python2 代码迁移到 Python3
____tz_zs脚本 2to3 一键转换2to3 是一个默认安装的脚本,使用它可以很方便的一键转换 Python2 到 Python3.x。中文文档:2to3 - 自动将 Python 2 代码转为 Python 3 代码关于编码Python2 中常用的方法 sys.setdefaultencoding('utf8') 在 Python3.x 中不再使用。参考:https://ww...原创 2019-12-06 18:12:39 · 1002 阅读 · 0 评论 -
python 生成随机字符串(大小写英文字母、数字组成)、生成随机的无重复字符的字符串
____tz_zs生成随机的字符串以下例子中,生成随机的字符串(大小写英文字母、数字组成)。import randomimport stringrandom_str = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(20))print(random_str)"""X5V1ehP...原创 2019-11-18 19:13:21 · 22199 阅读 · 1 评论 -
Python 文件数据格式之 CSV 标准库
CSVCSV (Comma-Separated Values) 是一种通用的、相对简单的文件格式,经常用于表格数据和数据库数据的导入导出。特点:1.以行为单位, 2.每行表示一条记录, 3.以英文逗号分割每列数据(如果数据为空,逗号也要保留), 4.列名通常放置在文件第一行我们在 python 中常用的读写 csv 文件的方法有标准库 csv 模块中的 csv.reader、csv.write...原创 2019-11-13 22:26:08 · 2102 阅读 · 0 评论 -
转载:Python 相对导入与绝对导入
原文地址:http://kuanghy.github.io/2016/07/21/python-import-relative-and-absolutePython 相对导入与绝对导入Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import 的搜索路径在当前目录下搜索该模块 在环境变量 PY...转载 2019-10-09 19:29:11 · 146 阅读 · 0 评论 -
Python 对比两个深层的字典(dict)
____tz_zs对比两个深层的 dict输入两个 dict。返回值分别为:data_1 所独有的键值对, data_2 所独有的键值对,两个 dict 均有的 key 的对比结果。def compare_data(data_1, data_2): """ 对比两个 dict。 :param data_1: :param data_2: :retur...原创 2019-09-01 22:59:14 · 2707 阅读 · 1 评论 -
Python 合并两个深层的字典 dict (用一个 dict 更新另一个 dict 的 value、或将两个 dict 的 value 相加)
____tz_zs将两个深层的 dict 合成一个 dict将 data_2 和 data_1 合成一个新的字典。对于 data_2 和 data_1 都有的 key,合成规则为 data_2 的数据覆盖 data_1。# -*- coding:utf-8 -*-"""@author: tz_zs"""raw_dict = { "china": { "sh...原创 2019-08-25 00:36:04 · 2225 阅读 · 0 评论 -
Python 遍历深层的字典 dict
遍历深层的 dict主要逻辑是利用迭代调用函数本身,达到解析至 dict 深处的目的。def analyze_data(data): if isinstance(data, dict): for k, v in data.items(): analyze_data(v) elif isinstance(data, (list, tuple...原创 2019-08-25 00:17:22 · 1977 阅读 · 0 评论 -
Python 之字典(dict)根据 value 获取 key
Python 之 dict 根据 value 获取 key遍历 dict 筛选出符合的 key# -*- coding:utf-8 -*-"""@author: tz_zs"""raw_dict = { "A": "77", "B": "88", "C": "99", "D": "88",}key_list = list(filter(lambd...原创 2019-08-25 00:13:54 · 12167 阅读 · 2 评论 -
Python 遍历两个时间之间的每一分钟
遍历每月的每一分钟# -*- coding:utf-8 -*-"""@author: tz_zs"""import pandas as pdimport calendarfrom datetime import datetimeyear_month_list = pd.date_range(start="20190401", end="20190731", freq="...原创 2019-08-25 00:11:54 · 1940 阅读 · 0 评论 -
Python 之队列(queue)的创建、数据进出及线程间使用
____tz_zs队列(queue),是线程间最常用的交换数据的形式,用来在生产者和消费者线程之间的信息传递,是适用于多线程编程的先进先出的数据结构。创建队列对象FIFO 队列(first-in,first-out 先进先出)class queue.Queue(maxsize=0)maxsize:(可选参数,默认为 0)用于设定队列长度。maxsize 小于等于 0 则表示队列长度无限。...原创 2019-08-18 19:47:23 · 9481 阅读 · 1 评论 -
Python websocket 模块 WebSocketApp 长连接方法新老版本不兼容
____tz_zswebsocket 库在 0.48.0 版本后对回调进行了修改。新版本中,当我们将一个实例对象的方法作为 WebSocketApp 的回调时,WebSocketApp 将不再会返回他自己作为回调的第一个参数。普通方法作为 WebSocketApp 回调以下为官方示例(https://pypi.org/project/websocket_client/)的长连接用法 Lon...原创 2019-07-14 23:26:26 · 26888 阅读 · 21 评论 -
Python datetime 模块之获取某年某月的第 n 天(第 n 个星期 w)和倒数第 n 天(倒数第 n 个星期 w)的日期
____tz_zs# -*- coding: utf-8 -*-"""@author: tz_zs"""import calendarfrom datetime import datetimedef get_month_firstday_and_lastday(year, month, n=1): """ 获取 year 年,month 月 的第一天和最后一天的日...原创 2019-06-28 00:10:10 · 2406 阅读 · 0 评论 -
Python datetime 模块之获取指定的星期几的日期
___tz_zsfrom datetime import datetimefrom datetime import timedeltadef get_day(dt_obj, week_day="monday"): # 获取当周的星期x d = dict(zip(("monday", "tuesday", "wednesday", "thursday", "friday",...原创 2019-06-24 00:43:38 · 7002 阅读 · 0 评论 -
Python datetime 模块之获取当前时间
____tz_zs获取当前时间的几种方法,from datetime import datetime# 当前时间的 timestamp时间戳timestamp = (datetime.now() - datetime.fromtimestamp(0)).total_seconds() #print(timestamp) # 1555097497.363893print(type(...原创 2019-04-13 12:55:27 · 1655 阅读 · 0 评论 -
Python datetime 模块之时间取整,整秒、整分、整时、整天
____tz_zs#!/usr/bin/python2.7# -*- coding:utf-8 -*-"""@author: tz_zs"""from datetime import datetimefrom datetime import timedeltadef get_hourly_chime(dt, step=0, rounding_level="s"): ...原创 2019-04-13 12:53:03 · 25471 阅读 · 7 评论 -
Python 内置函数 filter、map、reduce
____tz_zsfilter特殊情况过滤器filter(function_or_none, sequence)遍历 sequence 的 items,执行 function(item),返回结果为 True 的 items 组成的 list,tuple 或 string (这三种以外的其他格式也返回 list)。如果 function 为 None,则直接返回为 True 的 items...原创 2019-03-11 19:46:16 · 645 阅读 · 0 评论 -
Python 内置函数 dir()
____tz_zs内置函数 dir(),返回对象的所有属性及方法列表。1、当没有为其提供参数时, 它返回当前模块中定义的名字的列表。#!/usr/bin/python2.7# -*- coding:utf-8 -*-"""@author: tz_zs"""print(dir())a = 2print(dir())del a原创 2019-01-29 19:40:45 · 634 阅读 · 0 评论 -
Python importlib.import_module 动态导包
importlib.import_module 动态导包test/test1.py#!/usr/bin/python2.7# -*- coding: utf-8 -*-"""@author: tz_zs"""class TestOne(): def __init__(self):原创 2019-01-24 17:40:32 · 2741 阅读 · 0 评论 -
Python 日历模块 calendar
____tz_zs日历模块 calendarcalendar.calendarcalendar.calendar()以一个多行字符串格式返回一年的日历参数w = 每个日期之间的间隔字符数l = 每周所占用的行数c = 每个月之间的间隔字符数# -*- coding: utf-8 -*-"""@author: tz_zs"""import calendarcal ...原创 2019-01-24 17:03:32 · 2166 阅读 · 0 评论 -
Python getatter() 通过方法名字符串调用方法
____tz_zsgetatter()getattr()这个方法最主要的作用是实现反射机制。也就是说可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。获取函数import sysclass GetatterTest(object): def __init__(self): pass @static...原创 2019-01-02 09:56:13 · 1785 阅读 · 0 评论 -
Python 往文件中插入新字符串
____tz_zs在指定字段前插入#!/usr/bin/python2.7# -*- coding:utf-8 -*-"""@author: tz_zs"""def init_index_html(file_path, head_title): text = ""&am原创 2018-11-27 11:42:36 · 6260 阅读 · 0 评论 -
Python 获取文件路径、项目路径、文件相对于项目的相对路径
____tz_zs总结file在IDE中获取的是绝对路径,在终端启动时,启动位置是本模块,则为相对路径,由外部模块调用则获取的是未经解析的绝对路径。sys.path[0]忠实的表示启动的文件所在的路径os.getcwd()获取的是工作空间的路径。IDE中可以设置working directory,终端启动时则是指你cd到的那个路径下。os.path.abspath(os.path....原创 2018-11-22 19:16:23 · 10179 阅读 · 2 评论 -
Python 【os】模块 文件和目录处理
____tz_zs创建文件夹os.mkdir(path[, mode])以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。os.makedirs(path[, mode])递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。import os# os.mkdir("aaa/bb...原创 2018-11-21 19:15:50 · 361 阅读 · 0 评论 -
Python 调用父类方法
____tz_zs未完python 2.x老式类的方法优点:简洁。缺点:不能很好的处理菱形继承。因为你可能会调用两次共享基类的构造函数。class Human(object): def __init__(self, age): self.age = age print "Human age:%s:" % ageclass Student(...原创 2018-11-09 18:11:00 · 1051 阅读 · 0 评论 -
Python 之 list 创建、合并、排序、统计、复制、遍历删除等
____tz_zs列表(list)列表(list)是有序的元素集合,列表中每个元素类型可以不同。可通过索引访问单个元素,如 list[2], list[-1],也可通过区间索引访问子列表内容(左闭右开),如 list[2:5], list[-3:]。添加、合并合并(连接)两个列表list1 + list2list1.extend(list2)重复n次列表内容list1 * n...原创 2018-10-30 16:52:49 · 1101 阅读 · 0 评论 -
Python 之 字典(dict)的创建、字典生成式、复制添加更新删除、查询遍历比较等
____tz_zs字典(dict)字典类型(dict)是“键–值”数据项的组合,每个元素是一个键值对。如:身份证号(键)–个人信息(值)。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。字典类型的数据是无序的,字典类型数据通过映射查找数据项。构建字典创建字典的两种方法:{} 和 dict()dict1 = {'a': 1, 'b': 2}dict2 = dict(a=...原创 2018-09-26 15:08:18 · 2331 阅读 · 0 评论 -
python 常用的内置函数 sorted、zip、eval、enumerate
____tz_zssortedsorted()函数,接收任何可迭代对象,返回一个排序后的新对象。 l1 = [2, 4, 3, 1, "6", "a", 5, 9, 7] new_l1 = sorted(l1) print(new_l1) # [1, 2, 3, 4, 5,原创 2018-09-21 17:20:08 · 1403 阅读 · 0 评论