随笔分类 - python
摘要:Windows pyinstaller wxPython pyecharts无法正常显示问题 最近遇到一个pyinstaller打包wxPython pyecharts无法显示的问题,pyecharts生成的html页面显示空白。未使用pyinstaller打包时显示正常。 问题原因 WebView
阅读全文
摘要:pyinstaller 打包无窗口python http.server无法启动 最近在写一个简单的文件服务器用来访问静态文件,遇到在pyinstaller无窗口模式下无法启动的问题,记录一下解决方案。 原因:http.server需要将记录输出到窗口,而pyinstaller打包无窗口模式没有地方输
阅读全文
摘要:问题 假设我们有一张超大的订单表(N亿),里面有order_id、user_id等字段。 能通过order_id快速查找对应订单 能通过user_id快速查找该用户具有的订单列表 像上面这样的要求改怎样做呢?通过哈希订单ID取模?那如何满足通过用户ID快速查找订单列表呢? 什么是基因算法 理论: H
阅读全文
摘要:如果遇到Python正在运行中的进程卡住,找不到原因。可以试试以下工具方法, 对于python就像jstack对于java一样。 ### 法一 使用pystack-debugger #### 安装方式如下: ```bash yum install gdb pip install pystack-de
阅读全文
摘要:Python ipset iptables 实现蜜罐 自动封堵扫描者IP 蜜罐可以诱捕入侵者,但无法实时封堵入侵者,必须在事后通过日志进行手工封堵。 有没有什么办法可以实现自动封堵入侵者IP? iptables 实际上是带这个功能的,它是基于 ipset 实现的。通过 iptables 规则可以自动
阅读全文
摘要:IO多路复用 阻塞 IO 服务端为了处理客户端的连接和请求的数据,写了如下代码。 listenfd = socket(); // 打开一个网络通信端口 bind(listenfd); // 绑定 listen(listenfd); // 监听 while(1) { connfd = accept(l
阅读全文
摘要:Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为。 pip3 install blinker 1.内置信号 request_started = _signals.signal('request-started') # 请求到来前执行 reques
阅读全文
摘要:
### 上下文篇 整个Flask生命周期中都依赖`LocalStack()`栈[?](https://my.oschina.net/architectliuyuanyuan/blog/3061328)。而`LocalStack()`分为请求上下文`_request_ctx_stack`和应用上下文`
阅读全文

摘要:本文主要讲了如何使用 time、perf、line_profiler 测试python文件 call.py def call(): return True for i in range(10000000): call() time使用 time python call.py real 总耗时 1.4
阅读全文
摘要:一次遍历获取多级嵌套菜单 category_lists = [ {"id": 1, "name": "食品", "parent_id": 0}, {"id": 2, "name": "手机", "parent_id": 0}, {"id": 3, "name": "华为", "parent_id":
阅读全文
摘要:固定窗口 固定窗口就是记录一个固定的时间窗口内的操作次数,操作次数超过阈值则进行限流。 def fix_window_limit(redis_obj, period, max_count): """ 固定窗口 :param redis_obj:redis连接对象 :param period: 周期
阅读全文
摘要:flask、django获取第三方回调数据,可以用request.data直接获取全部参数。而很多同学不知道fastapi如何获取回调的全部参数,其实可以通过request.body()。 如: @payModules.post("/callback/wxpay",summary='微信支付回调',
阅读全文
摘要:apscheduler定时任务报错skipped: maximum number of running instances reached (1) 原因是默认max_instances最大定时任务是1个,可以通过在add_job中调max_instances增加数量。 如: scheduler.ad
阅读全文
摘要:多进程池Flask实战应用 import json import math import flask from concurrent.futures import ProcessPoolExecutor app = flask.Flask(__name__) process_pool = Proce
阅读全文
摘要:多线程池Flask实战应用 import json import time import flask from concurrent.futures import ThreadPoolExecutor app = flask.Flask(__name__) pool = ThreadPoolExec
阅读全文
摘要:多线程生产者消费者模型爬虫 import queue import requests from bs4 import BeautifulSoup import threading import time import random def craw(url): r = requests.get(ur
阅读全文
摘要:Python垃圾回收和缓存管理 你有没有想过为什么我们频繁地使用Python敲代码做项目,实际上一直在生产对象并不断占用内存,而我们很少会去清理Python的内存,理论上来讲它总有一天把内存消耗殆尽(溢出),可每次打开Python却“安然无恙”?真的只是你的计算机内存很大吗? 并不是,一个成熟的软件
阅读全文
摘要:概述 什么是ORM? ORM全称“Object Relational Mapping”,即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表,这样,写代码更简单,不用直接操作SQL语句。 现在我们就要实现简易版ORM。 效果 class Person(Model): """
阅读全文
摘要:超级坑问题: shop_count = html.xpath('//*[@id="feedback-summary-table"]/tbody/tr[5]/td[3]/span/text()') print(shop_count) # 无法匹配到结果 原因: 这是当试图获得来自浏览器的xpath和t
阅读全文