python seleinum获取network响应信息 import jsonfrom selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiescapabilities = DesiredCapabilities.CHROMEcapabilities["goog:loggingPrefs"] = { "performance": "ALL"}driver = webdriver.Chrom
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
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
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 = [ {
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
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
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
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_.
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...
PostgreSQL的ON CONFLICT PostgreSQL的ON CONFLICTPostgreSQL 的 upsert 简介PostgreSQL 的 upsert 功能:当记录不存在时,执行插入;否则,进行更新。PostgreSQL 的 upsert 简介在关系数据库中,术语 upsert 被称为合并(merge)。意思是,当执行 INSERT 操作时,如果数据表中不存在对应的记录,PostgreSQL 执行插入操作;如果...
数据库根据时间字段查询优化 数据库根据时间字段查询优化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...
linux右上角的wired图标消失 centos7右上角的wired图标突然没了,很神奇。然后在网上按着很多博客说的去改,都没用,最后终于根据下面参考博客内的方案解决了问题,嘿嘿。mv /var/lib/NetworkManager /var/lib/NetworkManager.bak输入完这个,然后重启虚拟机,就发现wired图标又出来转载于:https://www.cnblogs.com/LeslieForever/......
使用 wrapt 模块编写更通用的装饰器 使用 wrapt 模块编写更通用的装饰器1. 常见写法:import randomdef provide_number(min_num, max_num): """装饰器:随机生成一个在 [min_num, max_num] 范围的整数,追加为函数的第一个位置参数 """ def wrapper(func): def decorated(*args...
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...
常用的开发环境解释 DEVDevelopment environment开发环境,用于开发者调试使用FATFeature Acceptance Test environment功能验收测试环境,用于软件测试者测试使用UATUser Acceptance Test environment用户验收测试环境,用于生产环境下的软件测试者测试使用PROProduction environme...
cookie的key相同解决办法 由于domain不同,导致存在多个cookie的key存在问题解决办法$.cookie(“openid”,null,{domain:".qq.com",expires:0})
linux下PS1命令提示符设置 这样的命令提示不美观,而且当我们输入的linux命令得到很多输出的时候我们很难找到命令提示符在哪里,所以可以通过设置PS1来改善命令提示符。命令提示符是由一系列组件组合而成的,这些组件包括\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"\H :完整的主机名称\h :仅取主机的第一个名字\t :显示时间为24小时格式,如:HH:MM:SS\T :...
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...