![](https://img-blog.csdnimg.cn/20200107181438608.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python技术
Python基础补充
Fighting-年轻人就该张牙舞爪
人类所有真实的快乐,一定是恒久的努力
展开
-
协程是什么?
协程可以身处四个状态中的一个。当前状态可以使用函数确定,该函数会返回下述字符串中的一个:1.GEN_CREATED:等待开始执行2.GEN_RUNNING:解释器正在执行3.GEN_SUSPENED:在yield表达式处暂停4.GEN_CLOSED:执行结束通过asyncio源码分析我们可以看到, asyncio的调度其实就是I/O多路复用器;原创 2024-01-03 13:11:16 · 818 阅读 · 0 评论 -
vscode python远程开发最佳实践
vscode|python原创 2022-12-22 15:25:37 · 1080 阅读 · 1 评论 -
strftime格式
【代码】strftime格式。原创 2022-10-18 13:38:17 · 356 阅读 · 0 评论 -
Pytest-Python单元测试
pytest总结原创 2022-08-07 15:47:11 · 818 阅读 · 0 评论 -
function/symbol ‘pango_context_set_round_glyph_positions‘ not found in library ‘libpango-1.0.so.0‘x
python html转pdf原创 2022-07-13 09:24:21 · 775 阅读 · 0 评论 -
python获取某个模块/函数的源码
python自省能力原创 2022-06-10 11:34:44 · 250 阅读 · 0 评论 -
xml-json-yaml 互转
xml json yaml等格式化数据转换工具原创 2022-06-07 18:01:40 · 789 阅读 · 0 评论 -
http chunked
最近关注到一个HTTP/1.1的chunked, 说的是分块传输,这篇做个总结吧前言一般在HTTP API设计时,返回的参数或json或xml亦或是一个静态文件, 他们的Content-Length响应头总是确定的,所以浏览器接受到API返回后,接收完Content-Length中定义的长度字节后开始解析页面,针对大文件比如超过1个G的,此种方式肯定不可取,因为接受完整个返回的时间可能超过用户的无感时间,又或者是一个不能预先确定报文体的长度的返回,不可能在头中包含Content-Length域来指明报原创 2022-05-26 14:47:42 · 476 阅读 · 0 评论 -
pip离线装包
前言python开发中对一些无网的环境,需要安装python包怎么办?有三种方式第一种: 手动安装去pypi官网(国外网站一般不通)或者国内镜像源(1)阿里云 http://mirrors.aliyun.com/pypi/simple/(2)豆瓣http://pypi.douban.com/simple/(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.c..原创 2022-05-25 10:55:19 · 678 阅读 · 0 评论 -
Python定时任务 - apscheduler
一、 四大组件触发器 triggers :用于设定触发任务的条件date 日期:触发任务运行的具体日期interval 间隔:触发任务运行的时间间隔cron 周期:触发任务运行的周期任务储存器 job stores:用于存放任务,把任务存放在内存或数据库中执行器 executors: 用于执行任务,可以设定执行模式为单线程或线程池调度器 schedulers: 把上方三个组件作为参数,通过创建调度器实例来运行BlockingScheduler 阻塞式调度器:适用于只跑调度器的程序。B原创 2022-05-18 10:14:38 · 1187 阅读 · 0 评论 -
Python string编码
文章目录一、前言什么是编码?什么是字符集1.字库表2.编码字符集(通常简称 `字符集`)3.字符编码一个范例二、影响Python执行的编码方案1.Python解释器的默认编码2.Python源文件文件编码3.操作系统的语言设置4.Terminal使用的编码三、最后使用范例Pycharm编码设置一、前言本文将通过列举Python编码中的编码问题来进行阐述!!!使用过Python的同学们一定被她......原创 2020-01-07 11:46:12 · 6047 阅读 · 1 评论 -
pycharm remote开发配置
作为一名后端程序员,实际开发中经常会与服务器进行交互,那么怎么快速的部署代码到服务器呢?编辑器: PychamStep1: 依次点击: Tools -> Deployment -> configuration...原创 2019-11-28 20:03:23 · 5090 阅读 · 0 评论 -
ZMQ通信协议小结
ZMQ 通信协议小结前言:最近项目中用到 ZMQ,所以研究了一下,总结了一些使用方法!zmq的三种模型: 1、Request_Reply模式: >> 一发一收 无缓存 断开连接数据丢失。 2、Publish-Subscribe模式: >>广播所有client,无缓存,断开连接数据丢失。 3、Parallel Pipeline模式 >>由三......原创 2019-05-06 23:25:19 · 57720 阅读 · 4 评论 -
PlantUML画图
官网直达车原创 2022-04-19 11:57:04 · 217 阅读 · 0 评论 -
mysql千万数据加载
SELECT id, XX FROM table WHERE id>xx LIMIT 10000原创 2022-04-08 17:41:34 · 705 阅读 · 0 评论 -
python获取函数默认参数
defaultsinspect.getargspecimport inspectdef func(a, b=1): passprint(func.__defaults__)>> (1,)print(inspect.getargspec(func))>> ArgSpec(args=['a', 'b'], varargs=None, keywords=None, defaults=(1,))原创 2022-03-19 17:44:02 · 998 阅读 · 0 评论 -
ImportError: email-validator is not installed, run `pip install pydantic[email]`
pip install email_validator原创 2022-03-17 20:28:32 · 1122 阅读 · 0 评论 -
MySQLdb 安装
系统: centos7python版本: 3.8yum install mysql-develyum installl pymysql-develpip install mysqlclient原创 2022-03-12 11:55:08 · 4626 阅读 · 0 评论 -
pip安装的包无命令行时
python -m 对应的文件名比如 pyinstallerpython 0m pyinstaller xxx虚拟环境虚拟环境装的可执行命令会在 虚拟环境包下的bin目录找到该可执行文件原创 2022-03-09 21:50:22 · 1074 阅读 · 0 评论 -
python日志无输出
python logging一场 disabled引发的血案写了一个动态增加日志实例的程序原创 2022-03-07 09:56:25 · 2017 阅读 · 0 评论 -
pyinstaller可执行文件__file__失效
环境python3.8pyinstaller4.5.1问题项目中有一行 动态获取绝对路径的代码.self.absPath = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))打包后执行报错: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIDpU2rE/config/project.yaml'简化问题, 发现是 __file_..原创 2022-03-01 16:24:33 · 1094 阅读 · 0 评论 -
swagger python集成 flask篇
不同于fastapi flask等老框架没有集成swagger需要第三方辅助, 现在列出两个常用的辅助库flasgger官方文档完整示例from flask import Flask, jsonifyfrom flasgger import Swaggerapp = Flask(__name__)template = { "swagger": "2.0", "info": { "title": "My API", "description":原创 2022-02-24 14:02:01 · 1435 阅读 · 0 评论 -
序列化和编码的区别
总纠结于某些概念无法自拔不是好事, 得改!!!编码编码是针对字符的, 如 unicode实现1 - ucs-2)码规定了所有字符的编码二进制值, 全部占用2个字节, 其他编码方式比如 unicode实现2 - utf-8 规定了字符编码的另一种实现标准序列化序列化是针对对象的, 将对象写入字节流,具体怎么写入可以自定义比如一个对象有三个成员变量, 分别对应 char a="你", int32 b=1, char c="我" 那么在序列化时(即 写入字节流), char a可以规定utf-8原创 2022-02-23 10:39:00 · 912 阅读 · 0 评论 -
大端 小端
一串字符ABCDEF高尾端 - 尾巴存在高地址低尾端 - 尾巴存在低地址原创 2022-02-22 14:02:11 · 346 阅读 · 0 评论 -
文本协议和二进制协议的区别
文本协议json xml等属于文本协议 优点: 统一性 方便阅读 方便扩展 跨语言跨平台 缺点: 报文大浪费带宽 不好加密二进制协议如 消息头+消息体 的方式编码, 消息头标识消息体的长度, 这种方式无异于 节约带宽, 方便自定义加密如二进制的一些位运算操作, 缺点是 1. 文档和消息体必须一致才能解析 2. 难以跨越处理器平台 比如大端小端 3 修改不易引用百度知道...原创 2022-02-22 10:15:21 · 677 阅读 · 0 评论 -
文本文件和二进制文件
物理意义上两者底层存储都是二进制的, 编码逻辑上做了区分,文件文件和二进制文件的区别在于编解码, 文本文件基于字符编码(以字节为单位), 而二进制文件是自定义编码(可以以bit为单位), 基于值编码, 稍微了解 utf-8或者gbk编码后可以了解二进制文件通常更节省空间, 文本文件是固定编码格式的 比如 utf-8 编解码存储, 而二进制文件则是自定义编解码, 比如jpeg编解码, 如果用 文本打开 jpg图片将会出现乱码....原创 2022-02-21 11:30:06 · 217 阅读 · 0 评论 -
requests stream
关于 Python requests模块的 stream参数报文过大使用迭代用demoimport requestsbase_url="http://httpbin.org/"r = requests.get(base_url+'/stream/10', stream=True)response_body解析: 以\n分割for lines in r.iter_lines(): print("lines:", lines)response_body解析: 字节数分割原创 2022-02-17 10:48:31 · 1171 阅读 · 0 评论 -
python 可迭代对象
可迭代对象图示结论可迭代对象包含迭代器对象。如果一个对象定义了__iter__方法,即是可迭代对象;如果一个对象定义了__next__方法,即是迭代器。定义可迭代对象,必须实现__iter__方法;定义迭代器,必须实现__iter__和__next__方法。...原创 2022-02-16 11:03:16 · 1654 阅读 · 0 评论 -
uwsgi协议、uWSGI、gunicore、WSGI协议
原创 2022-02-16 09:54:41 · 308 阅读 · 0 评论 -
shell - 启动脚本
start#!/bin/bashecho "enter"count=`ps -ef | grep recommend2sequence | grep -v "grep" |wc -l`if [ $count -gt 0 ]; then echo "recommend2sequence already runing....." exitelse echo "start recommend2sequence....."ficd /r2/recommendnohup ./.原创 2021-11-19 14:21:47 · 1155 阅读 · 0 评论 -
SQLAlchemy字段映射python类型
场景我们需要对某个数据模型做参数校验, 用于api层的校验和入库前的参数检验,怎么做呢 show codecodecodefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, BLOB, TEXT, TIMESTAMPbase = declarative_base()class _VideoSeries(base): __ta原创 2021-11-17 16:09:52 · 992 阅读 · 0 评论 -
查看sql是否使用了索引
如何查看执行的sql是否使用了索引?工具: navicatsql: SELECT * XXX未使用索引使用索引原创 2021-11-15 14:15:00 · 2312 阅读 · 0 评论 -
sqlite.utc+8
建表语句CREATE TABLE sss (f_id INT(11) NOT NULL, f_start TIMESTAMP NOT NULL, f_end TIMESTAMP NOT NULL,f_create_time TIMESTAMP NOT NULL DEFAULT (datetime(CURRENT_TIMESTAMP, 'localtime')), PRIMARY KEY (f_id));datetime(CURRENT_TIMESTAMP, ‘localtime原创 2021-11-10 10:58:30 · 1678 阅读 · 1 评论 -
爬虫页面禁止F12
问题描述在chrome打开开发者工具不能选中页面元素无法进行元素调试其实是页面对debug模式的控制1.一个不算好的解决方案关闭chrome的javascript, 但是一些由js渲染的页面就不能正常显示了2. 不借助chrome,使用抓包工具用wireshark/fidler抓包,但是抓到的包不会自动渲染js...原创 2021-11-10 09:43:26 · 1350 阅读 · 2 评论 -
Python设计模式: 状态机模式
序言:状态机模式是一种编程中非常好用的过程控制模型。基类import abcclass StateMachine(metaclass=abc.ABCMeta): STATE_START = 1 STATE_WAIT = 98 STATE_ERROR = 99 STATE_FINISH = 100 STATE_END = 1000 def __init__(self): self.startState = 0 s原创 2021-10-27 18:07:09 · 469 阅读 · 0 评论 -
nohup python输出延迟
1. shell 环境变量执行 export PYTHONUNBUFFERED=1, 那么再此shell下源码执行的 nohup python xx.py & 将不再将日志刷新到缓冲区而是直接输出到 nohup.out2. python -unohup python -u xx.py & , 日志将直接输出到 nohup.out ,不走缓冲区3. flush buffer (非源码部署适用)强刷 sys.write 的缓冲区, print 的标准输出实际上是到了 sys.原创 2021-10-27 14:19:27 · 1656 阅读 · 0 评论 -
Python相关协议汇总
相关协议(仅做记录,非详解)1. HTTP协议超文本传输协议2. uwsgi协议二进制协议可以携带任何类型的数据。一个uwsgi分组的头4个字节描述了这个分组包含的数据类型。uwsgi是一种线路协议而不是通信协议,常用于在uWSGI服务器与其他网络服务器的数据通信, 如: nginx->uWSSGI或者Gunicorn;3. WSGI协议1.Web Server Gateway Interface(web服务器网关接口), 见名知意2.是server和applecatio原创 2021-10-12 11:37:41 · 391 阅读 · 0 评论 -
time, datetime时间的各种处理
这些工具类用的时候挺爽,用完了下次用又忘了,为节约时间成本,遂做一次全面总结,以求下次使用提高效率原创 2021-09-27 16:47:31 · 72 阅读 · 0 评论 -
Sqlite元数据
查询sqlite表的元数据,比如 表名、建表语句…SELECT type, name, tbl_name, rootpage, sql FROM sqlite_master输出typenametbl_namerootpagesqltableUserUser2xxxindexsqlite_autoindex_User_1User3原创 2021-09-10 16:41:00 · 191 阅读 · 0 评论 -
cannot commit - no transaction is active
点击查看原创 2021-09-10 15:06:24 · 1619 阅读 · 0 评论