- 博客(65)
- 收藏
- 关注
原创 python seleinum获取network响应信息
import jsonfrom selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiescapabilities = DesiredCapabilities.CHROMEcapabilities["goog:loggingPrefs"] = { "performance": "ALL"}driver = webdriver.Chrom
2021-09-27 19:40:23
1900
1
转载 Audio and MIDI Controller on Ubuntu Linux
Setting up Ubuntu Linux for audio and MIDI is relatively quick and straightforward these days. This will cover setting up your audio system with JACK Audio and then your MIDI keyboard.This quick write up is on simply quickly getting a MIDI controller keyb
2021-07-26 14:27:34
358
转载 python声明值对象
Since python 3.7 there is a new built in module called dataclasses which has the dataclass class in it.Pycharm supports it and knows how to work with it.It is a perfect fit for a value object, since it already defines a lot of what you would define for a
2021-07-23 09:07:51
308
原创 flask mock数据单元测试
模拟调用三方服务接口import unittestfrom unittest import mockfrom monitor_server import appdef mock_account_info(*args, **kwargs): response_mock = mock.Mock() response_mock.status_code = 200 response_mock.json.return_value = [ {
2021-07-14 10:53:33
297
原创 selenium获取谷歌浏览器控制台信息
from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilities# enable browser loggingd = DesiredCapabilities.CHROMEd['goog:loggingPrefs'] = { 'browser':'ALL' }driver = webdriver.Chrome(desired_capabiliti
2021-07-13 11:55:44
1986
1
翻译 Python自带调试器pdb
pdb命令1、查看源代码2、添加断点4、清除断点5、打印变量值6、逐行调试命令7、非逐行调试命令8、查看函数参数9、打印变量类型10、启动交互式解释器11、打印堆栈信息12、退出pdbpdb有2种用法:非侵入式方法(不用额外修改源代码,在命令行下直接运行就能调试)python3 -m pdb filename.py侵入式方法(需要在被调试的代码中添加一行代码然后再正常运行代码)import pdb;pdb.set_trace()当你在命令行看到下面这个提示符时,说明已经正确打开了pd
2020-08-15 14:32:10
781
原创 python 不同参数类型不同处理逻辑
from functools import singledispatch@singledispatchdef fun(arg, verbose=False): if verbose: print("Let me just say,", end=" ") print(arg)@fun.registerdef _(arg: int, verbose=False): if verbose: print("Strength in numbers
2020-06-16 12:06:14
641
原创 python with使用类名 classmethod
class A(type): sql = "" def __enter__(self): self.db_conn = self.sql + "123" print("enter") return self def __exit__(self, exc_type, exc_val, exc_tb): print(self.db_conn) print("exit") self.db_.
2020-06-11 14:19:24
469
原创 python classmethod property同时生效
class A(type): a = {1: 2} @property def aa(cls): return cls.a @aa.setter def aa(cls, value): cls.a = valueclass B(metaclass=A): passif __name__ == '__ma...
2020-05-07 11:26:04
738
原创 PostgreSQL的ON CONFLICT
PostgreSQL的ON CONFLICTPostgreSQL 的 upsert 简介PostgreSQL 的 upsert 功能:当记录不存在时,执行插入;否则,进行更新。PostgreSQL 的 upsert 简介在关系数据库中,术语 upsert 被称为合并(merge)。意思是,当执行 INSERT 操作时,如果数据表中不存在对应的记录,PostgreSQL 执行插入操作;如果...
2020-04-26 17:26:16
27212
原创 数据库根据时间字段查询优化
数据库根据时间字段查询优化mysql数据库SELECT sw_id FROM link_update_record WHERE create_time BETWEEN '2020-2-1 00:00:00' AND '2020-2-12 23:59:59';将时间字段比较值改成时间格式select sw_id from link_update_record where create_t...
2020-02-12 17:20:28
1659
1
原创 linux右上角的wired图标消失
centos7右上角的wired图标突然没了,很神奇。然后在网上按着很多博客说的去改,都没用,最后终于根据下面参考博客内的方案解决了问题,嘿嘿。mv /var/lib/NetworkManager /var/lib/NetworkManager.bak输入完这个,然后重启虚拟机,就发现wired图标又出来转载于:https://www.cnblogs.com/LeslieForever/......
2020-01-18 12:07:17
3087
15
原创 使用 wrapt 模块编写更通用的装饰器
使用 wrapt 模块编写更通用的装饰器1. 常见写法:import randomdef provide_number(min_num, max_num): """装饰器:随机生成一个在 [min_num, max_num] 范围的整数,追加为函数的第一个位置参数 """ def wrapper(func): def decorated(*args...
2020-01-13 18:22:46
434
转载 PostgreSql 聚合函数string_agg与array_agg,类似mysql中group_concat
string_agg,array_agg 这两个函数的功能大同小异,只不过合并数据的类型不同。https://www.postgresql.org/docs/9.6/static/functions-aggregate.htmlarray_agg(expression)把表达式变成一个数组 一般配合 array_to_string() 函数使用string_agg(expressio...
2020-01-08 11:16:11
1863
原创 常用的开发环境解释
DEVDevelopment environment开发环境,用于开发者调试使用FATFeature Acceptance Test environment功能验收测试环境,用于软件测试者测试使用UATUser Acceptance Test environment用户验收测试环境,用于生产环境下的软件测试者测试使用PROProduction environme...
2020-01-04 20:15:10
448
原创 cookie的key相同解决办法
由于domain不同,导致存在多个cookie的key存在问题解决办法$.cookie(“openid”,null,{domain:".qq.com",expires:0})
2019-12-25 19:52:12
2302
原创 linux下PS1命令提示符设置
这样的命令提示不美观,而且当我们输入的linux命令得到很多输出的时候我们很难找到命令提示符在哪里,所以可以通过设置PS1来改善命令提示符。命令提示符是由一系列组件组合而成的,这些组件包括\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"\H :完整的主机名称\h :仅取主机的第一个名字\t :显示时间为24小时格式,如:HH:MM:SS\T :...
2019-12-19 14:35:36
231
转载 logstash grok内置正则过滤规则
logstash grok内置正则过滤规则USERNAME [a-zA-Z0-9._-]+USER %{USERNAME}INT (?:[+-]?(?:[0-9]+))BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))NUMBER (?:%{BASE10NUM})BASE16NUM...
2019-12-08 15:34:22
687
原创 python内置模块inspect
比较底层的模块getfullargspec可以获取函数、方法定义了什么参数from inspect import getfullargspecclass A: def __init__(self, a: int, b, *args1, c, d=20, **kwargs1) -> None: ...print(getfullargspec(A.__ini...
2019-10-19 20:45:22
2918
原创 flask-wtf使用细节及部分源码展示
class StaffForm(FlaskForm): username = wtforms.StringField('用户名', [validators.Length(min=4, max=25)], render_kw={"class": "form-control"}) email = wtforms.StringField('邮箱地址', [validators.Lengt...
2019-10-18 17:49:41
340
原创 Flask 扩展 国际化 本地化
Flask 扩展 国际化 本地化1. 设置语言和时区2. 在视图和模板中使用翻译3. 创建本地化翻译文件4. 格式化日期5. 格式化货币pip install flask-babel先初始化一个Flask-Babel的实例from flask import Flaskfrom flask_babel import Babel app = Flask(__name__)babel = ...
2019-10-17 09:38:19
264
转载 jQuery的ajax()、post()方法提交数组,参数[] 问题
jQuery的ajax()、post()方法提交数组,参数[] 问题当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收.比如:$.ajax({ type: "POST", url: url, data:{ gender:[0,1] }, dataType: "json", async:fals...
2019-09-07 18:30:34
2576
转载 Git命令大全
Git命令大全一、git config二、git clone三、git init四、git status五、git remote六、git branch七、git checkout八、git add九、git commit十、git fetch十一、git merge十二、git diff十三、git pull十四、git push十五、git log十六、git reset十七、git reve...
2019-09-03 22:10:17
474
原创 SQLAlchemy——python ORM框架
SQLAlchemy——python ORM框架一、创建数据表二、增删改查操作2.1 增加数据2.2 查询数据2.3 修改数据2.4 删除数据2.5 高级版查询2.6 高级修改数据操作三、表关系:一对多的操作3.1 创建数据表及关系relationship3.2 基于relationship增加数据3.3 基于relationship查询数据3.4 更新数据3.5 删除数据四、表关系:多对多操作4...
2019-07-31 22:44:30
348
原创 Flask-SQLAlchemy
Flask-SQLAlchemy1. 加入Flask-SQLAlchemy第三方组件2. 建立models.py ORM模型文件3. 登录视图函数的应用pip install Flask-SQLAlchemy1. 加入Flask-SQLAlchemy第三方组件MyApp/__init__.pyfrom flask import Flask# 导入Flask-SQLAlchemy中的...
2019-07-31 16:46:19
134
转载 生成器和协程
目录理解生成器定义生成器 推动生成器生成器的close和throwyield from关键字协程概念使用yield实现协程使用yield from实现的协程await和async关键字asyncio模块执行多个任务获取返回值执行多个任务获取返回值执行多个任务按照返回的顺序获取返回值asyncio使用协程完成http访问理解生成器...
2019-07-20 21:22:41
116
原创 django1.11琐碎知识点(更新中...)
1.QueryDict对象request.POST或request.GET获取的对象类型为QueryDict,默认是不可变数据类型,可以通过copy.deepcopy(QueryDict)方式来使它变成可变的数据类型,或者直接QueryDict.copy()官网地址2.urlencode() 查询参数拼接http://127.0.0.1:8000/customer/search/?pa...
2019-07-17 23:13:56
229
原创 js代码实现录音上传
js代码实现录音上传1.html页面2.Recorder.js内容3.flask写法1.html页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title id="title"></title></head><...
2019-07-17 14:14:18
6227
6
转载 Django、Tornado、Flask优缺点
Django、Tornado、Flask优缺点一、Django二、Torando三、Flask一、Django主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架优点:大和全(重量级框架)自带orm,template,view需要的功能也可以去找第三方的app注重高效开发全自动化的管理后台(只需要使...
2019-07-10 16:33:38
9281
2
转载 restful api统一资源接口
RESTful架构应该遵循统一接口原则,统一接口包含了一组受限的预定义的操作,不论什么样的资源,都是通过使用相同的接口进行资源的访问。接口应该使用标准的HTTP方法如GET,PUT和POST,并遵循这些方法的语义。如果按照HTTP方法的语义来暴露资源,那么接口将会拥有安全性和幂等性的特性,例如GET和HEAD请求都是安全的, 无论请求多少次,都不会改变服务器状态。而GET、HEAD、PUT和DE...
2019-07-07 22:27:03
1870
原创 python操作redis
python操作redis集群一、操作单实例二、哨兵集群三、rediscluster集群四、redis存储session安装redis模块pip install redispip install django-redis一、操作单实例import redisr = redis.StrictRedis(host="192.168.170.131", port=6379, passw...
2019-07-05 22:48:47
184
原创 centos忘记root密码
重启Linux系统出现引导界面,按下键盘上的e键 进入内核编辑界面在linux16参数这行的最后追加 rd.break 参数,按下Ctrl+X 组合键来进行修改内核程序等待系统进入紧急求援模式依次输入以下命令,然后等待系统重启mount -o remount,rw /sysrootchroot /sysrootpasswd此时会提醒输入新密码touch /.autorela...
2019-06-26 15:09:13
111
原创 Django1.11获取所有url路径
Django1.11获取所有url路径#!/usr/bin/env python# -*- coding:utf-8 -*-import refrom collections import OrderedDictfrom django.conf import settingsfrom django.utils.module_loading import import_stringf...
2019-06-23 10:47:09
1012
原创 django form表单渲染和验证
django form表单渲染和验证一、Form常用字段与插件1.initial 初始值,input框里面的初始值。2.error_messages 重写错误信息3.password 设置输入框为密码类型4.radioSelect 单选框,值为字符串5.单选Select6.多选Select7.单选checkbox8.多选checkbox9.date类型10.choice字段注意事项二、Form所有...
2019-06-04 20:03:06
2469
1
原创 Django中ORM的锁和事务
Django中ORM的锁和事务一、锁1.行级锁2.表锁二、事务1.全局开启2.局部使用事务一、锁1.行级锁select_for_update(nowait=False, skip_locked=False)#注意必须用在事务里面,至于如何开启事务,我们看下面的事务一节。返回一个锁住行直到事务结束的查询集,如果数据库支持,它将生成一个 SELECT … FOR UPDATE 语句。举...
2019-05-30 19:47:28
3275
1
原创 Django和Ajax
Django和Ajax一、Ajax简介1.简介2.使用场景3.Ajax优缺点二、Ajax的使用1.基于jQuery的实现2.基于原生js实现3.请求参数4.响应参数三、Ajax请求设置csrf_token1.方式一:通过隐藏的input2.方式二:{{ csrf_token }}3.方式三:通过cookie四、Ajax文件上传1.请求头ContentType2.基于form表单的文件上传3.基于A...
2019-05-30 17:59:56
279
原创 django1.11 数据库查询数据
all()查询所有结果,结果是queryset类型filter(**kwargs)它包含了与所给筛选条件相匹配的对象,结果也是queryset类型 Book.objects.filter(title='linux',price=100)里面的多个条件用逗号分开,并且这几个条件必须都成立,是and的关系,or关系直接在这里写是搞不定or的,见后续get(**kwargs)返回与所给筛选...
2019-05-23 21:29:46
366
原创 django1.11版 字段
CharField字符串字段, 用于较短的字符串.CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数.IntegerField用于保存一个整数.FloatField一个浮点数. 必须 提供两个参数:参数描述max_digits总位数(不包括小数点和符号)decimal_place...
2019-05-22 22:55:28
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人