- 博客(57)
- 收藏
- 关注
原创 logging的一些参数用法
#1.logging.Formatter原文地址:https://blog.youkuaiyun.com/jacke121/article/details/85239228formatter = logging.Formatter('%(asctime)s-%(name)s-%(filename)s-[line:%(lineno)d]-%(levelname)s-[日志信息]: %(message)s...
2019-12-06 17:07:02
760
原创 类使用装饰器,把类作一个装饰器。
一、在了解类的装饰器之前应该先看一下函数的装饰器:def foo(fn): def bar(a): fn(a*(a-1)) print(a) return fn(a*(a-1)) return bar@foodef my_test(a): a=a-1 print(a)print(my_test)my_test...
2019-12-05 15:13:52
287
原创 Python编码的那些事儿
一、ASCII 码ASCII 码 表示 127 个英文字符每个中文需要使用2个字节来编码,中文编码的规则 —— GB2312由于不同国家有不同的编码规则,如日本,韩国都使用各自国家的编码规则,在多语言混用的场合会出现混乱。二、Unicode 码Unicode 用来把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode通常用两个字节编码(有的也用四个字节),而 ASCII...
2019-11-26 14:47:46
151
原创 记一次读取excel,日志记录异常。
from openpyxl import load_workbookfrom openpyxl.styles import Fontfrom openpyxl.styles.colors import BLACKfrom collections import namedtuplefrom config.config import DATA_PATHfrom common.RecordL...
2019-11-01 18:03:54
275
原创 cookie的构成。
一、json web token的构成。第一部分:header,第二部分:playload,第三部分:signature(签证)1.header 通常有两部分构成声明类型,这里是jwt声明加密的算法 通常直接使用 HMAC SHA256例如: {‘typ’: ‘JWT’,‘alg’: ‘HS256’}然后头部进行base64加密(堆成加密)2.playload标准中注册的...
2019-10-30 15:23:32
899
转载 自动化测试中日志的简单使用
import loggingfrom logging.handlers import RotatingFileHandlerfrom config.config import LOG_PATHclass Log(object): def __init__(self, name=__name__, path='mylog.log', level='DEBUG'): ...
2019-10-29 17:23:51
912
转载 python中单下划线,双下划线。
单下划线、双下划线、头尾双下划线说明:__foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了...
2019-10-29 16:38:46
167
原创 记一次os.path使用错误。。
import osprint(os.path)#解释器的绝对路径print(os.path.realpath(__file__))#当前文件的绝对路径print(os.path.split(os.path.realpath(__file__))[0])#当前文件的上一级路径打印结果:<module ‘ntpath’ from ‘C:\Users\PCSetupAccount\Ap...
2019-10-17 11:54:39
580
原创 报错requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)
运行代码import requestsresponse = requests.get("https://www.baidu.com")print(response.status_code)会报错。解决办法:1、先检查是否已安装requests的依赖安装包:pip install cryptographypip install pyOpenSSLpip install cert...
2019-08-25 12:47:27
1611
原创 Django报错:ModuleNotFoundError: No module named 'widgets'
from widgets import UEditorWidget,AdminUEditorWidget会显示:ModuleNotFoundError: No module named ‘widgets’原因:直接采用“pip install DjangoUeditor”安装的DjangoUeditor,是基于Python 2.7的,对Python3的不兼容。导致不能import widget...
2019-08-14 21:41:54
4212
原创 mysql索引
原文地址 https://www.cnblogs.com/bypp/p/7755307.html为什么有时候使用索引检索的速度会变慢?对于变化不大的数据没有必要使用索引,尤其数据量少的时候(7万条),索引本身的加载需要时间。为什么会这样会,下面解释一下:一,什么是索引?索引在mysql中也叫键,是储存引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据越来越大...
2019-07-29 21:59:48
92
原创 Xshell连接不上虚拟机提示ssh服务器拒绝了密码,请再试一次
用Xshell root连接时linux时提示ssh服务器拒绝了密码1.sshd服务没有打开2.sshd设置了不允许root用户用密码远程登录2.防火墙阻止了22端口4.虚拟机网络设置有问题,我曾经遇到过这种情况。 比如,你系统配置了和主机同一网段下的静态ip,但是虚拟机网络设置是nat模式,解决办法:把虚拟机网络模式改成桥接模式客户端软件或软件配置问题客户端网络问题中间链路问题云...
2019-07-29 09:52:25
1796
1
原创 celery使用redis作为broker时遇到'str' object has no attribute 'items'
Traceback (most recent call last):File “g:\project\django_prc\venv\lib\site-packages\celery\worker_init_.py”, line 206, in startself.blueprint.start(self)File “g:\project\django_prc\venv\lib\site-p...
2019-07-28 20:36:30
526
原创 异步队列Celery在Django中的作用
Celery是基于Python开发一个分布式任务队列框架,支持使用任务队列的方式在分布的机器、线程、进程、协程上执行任务调度。上图圣展示的生产者-消费者模式,主要有三部分组成:broker(生产者:消息队列)、workers(消费者:处理任务)、backend(存储结果)。过程:用户从web发起一个请求,然后把任务放入broker中,让空闲的worker处理,处理结果暂存在backend中。...
2019-07-09 11:09:12
378
原创 Django中的缓存
在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcach...
2019-07-05 10:06:35
108
原创 F、Q及其他查询
聚合查询from django.db.models import Avg,Min,Sum,Max从正个查询生成统计值,比如查询所在售数的平均价,及最贵的书Book.object.all().aggregate(Avg('price'),Max('price')){‘price__avg’: 34.35,‘price__max’:Decimal(‘81.2’)}aggregate()是Q...
2019-07-04 20:28:41
160
原创 Django部分基础
1 Django创建项目的命令:django-admin startproject 项目名称python manage.py startapp app名称2Django 创建项目后,项目文件夹下的组成部分(对 mvt 的理解)?manage.py是项目运行的入口,指定配置文件路径__init.py 是一个空文件,作用是这个目录可以被当作包使用。settings.py 项目整体配置文件...
2019-07-02 16:16:13
278
原创 邮件监控爬虫
邮件监控5个步骤邮箱监控实例# 导入发送邮件包import smtplibfrom email.mime.text import MIMEText # 用来创建文本格式的邮件体内容class Send_Email: def __init__(self, num): self.num = num self.smtp = self.get_c...
2019-07-02 16:12:48
692
原创 Tcp和Udp
1.tcp/udp的区别?Udp:1无连接:发送数据前不需要建立连接,发送完也不需要释放连接2.尽最大努力交付:不维持复杂的连接状态3.面向报文,应用程序每次给下层交付一个报文,应用程序需要选择适合的 报文尺寸4.没有阻塞控制,会因为网络状况丢失数据,不过实时性强5.Udp头部开销小,只有8个字节6.发送方发送一次,接收方也只接受一次,崎岖的数据会丢弃Tcp:1.面向连接的运输层协议...
2019-07-02 15:33:31
79
翻译 虚拟环境的创建及使用
windows安装pip install virtualenvwrapper-win #Windows使用该命令virtualenv -pC:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe app_env-p指定python版本的路径app_env:虚拟环境的名字workon 查看存在的虚...
2019-07-02 13:47:24
180
原创 python遍历二叉树
先序遍历:根节点排最先,然后统计,先左后右–>ABC中序遍历:先做后根,最后右—>BAC后续遍历:先左后根最后右–>BAC#定义一个树节点class TreeNode: def __init__(self,value=None,left=None,right=None): self.value = value self.left ...
2019-06-22 16:13:41
176
原创 数据库中数据的完整性
数据完整性包括实体完整性、域完整性、参照完整性实体完整性:保证数据的非空、唯一、不重复。即要求=每个表中只有一个主键,主键必须唯一且不为空。例如学籍关系表中的学号必须唯一,且部位空,否则无法对学籍信息进行操作。域完整性:每个表中的列必须满足特定的类型和约束。约束可以使取值范围、精度等。参照完整性:是指表与表之间的关系,例如删除附表中一条记录时,字表中的记录也会被删除,否则就会成为孤立的数据...
2019-06-20 15:01:43
1004
原创 对称加密和不对称加密
对称加密:1.对称加密不安全,例如客户端要发送数据,对数据加密后发送给服务端,服务端用密钥解密,同样服务端给客户端发送加密的数据客户端页需要用同样的密钥解密。此方法不安全2.但是相对于非对称加密算法,加密解密的速度都比较快,使用的主要算法有DES,3DES,AES非对称加密:1.进行数据传输的双方都会生成一对自己的秘钥,然后二者把自己的公钥发送给对方。例如,A生成一对秘钥,然后把公钥给B,...
2019-06-20 14:19:28
1060
原创 https交互过程
1.客户连接到443端口,本地生成一个随机数1和加密算法发送个服务端2.服务端确认加密算法,生成一个随机数2,然后将随机数2+确认的加密算法+证书发送给客户端3.客户端验证证书的合法性4.客户端使用约定的算法生成随机数3 通过服务器证书的公钥发送给服务端5.服务端通过私钥和加密算法解密得到随机数36.客户端通过随机数1+随机数2=随机数3生成秘钥,然后通过约定的加密算法对秘钥和数据加密后...
2019-06-20 11:50:22
560
原创 python中json数据和字典的相互转换
import json“”“dump dumps load loads”""str1 = “123”dic1 = {“name”: “zs”,“age”:18}字典格式转化为json格式json_data = json.dumps(dic1)json数据转化为字典str_data = json.loads(json_data)读取json文件并转化为dict数据load将dic...
2019-06-18 22:30:14
730
原创 python中字典的一些用法
dic1 = {“name”:“zs”,“age”:18}dic2 = {“gender”:“女”,“addr”:“China”}del dic1[“name”]删除字典中的一个元素a = dic1.pop(“name”)#字典无序,必须制定被弹出的元素print(a)#返回被弹出元素的value的值dic2.update(dic1)#两个字典合并dic1.clear()#清空字典d...
2019-06-18 19:26:43
181
原创 python的字符串方法
1.去掉空格和特殊符号str1 = “sffewf141td09841aa”print(str1.strip())#去掉空格和换行符print(str1.strip(“abc”))#去掉左边的字符 只能去掉左边吧的字符print(str1.lstrip(“ab”))#去掉左边的空格或者字符print(str1.rstrip())#只能去掉右边的空格2.字符串的搜索和替换print(s...
2019-06-17 22:13:23
169
原创 pythn的numpy模块
创建一个ndarrayarr = np.array([[1,2,3,],[2,3,4]])print("arr:",arr)print("arr 维度:",arr.ndim)print("arr 形状:",arr.shape)print("arr 大小:",arr.size)print("arr 数据类型:",arr.dtype)print("arr 元素大小:",arr.items...
2019-06-13 20:21:28
117
原创 python创建虚拟环境venv
安装前准备检查pip版本与python版本是否一致[root@localhost bin]# whereis pippip: /usr/bin/pip /usr/bin/pip2.7如果版本不一致,修改pip引用的版本[root@localhost bin]# mv /usr/bin/pip /usr/bin/pip2.7.2[root@localhost bin]# ln -s /...
2019-06-11 22:46:26
519
原创 糗事百科数据爬取
from lxml import etreeimport requestsclass Qiushi(): def __init__(self,page1,page2): self.page1 = page1 self.page2 = page2 def __call__(self, *args, **kwargs): self.r...
2019-05-27 09:41:45
315
转载 python中eval,exec和complie
1.eval函数函数的作用:计算指定表达式的值。也就是说它要执行的python代码只能是单个表达式(注意eval不支持任何形式的赋值操作),而不能是复杂的代码逻辑。eval(source, globals=None, locals=None, /)参数说明:source:必选参数,可以是字符串,也可以是一个任意的code(代码)对象实例(可以通过complie函数创建)。如果它是一个字...
2019-05-18 15:10:20
149
原创 python的魔术方法 __call__
python中一切皆对象,但是在对一些类名实例化的时候,我们想调用这个实例化对象,这时就要用到__call__了例如:class Test(object): def method(self): return 1a=Test()print(callable(a))#False这时就用到__call__了class Test(object): def __...
2019-05-16 20:51:10
338
转载 Django一次请求到响应的流程
Django的请求到响应的处理流程本质上差不,是利用WSGI,针对request,进行reponse.WSGI整体流程如下:web服务器指的是nginx,Apache这类服务器,然后服务器把请求交给web应用程序处理,WSGI介于二者这中间。WSGI规定应用是可调用对象(函数/方法),它接受2个固定参数:一个是含有服务器端的环境变量,另一个是可调用对象,这个对象用来初始化响应,给加上的stat...
2019-05-15 22:39:46
769
转载 全面深刻理解cookie
此文转载Cookie机制Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。让我们说得更具体一些:当用户使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着,服务器在向客户端回传相应的超文本的同时也会发回这些个人信...
2019-05-05 22:28:41
200
1
原创 数据库如何设计表
闲来无事,总结一下数据库各种关联表格的优缺点一对一Ø 一对一是将数据表“垂直切分”,其实是不常见,或不常用的。也就是 A 表的一条记录对应 B 表的一条记录,为什么要这样的设计呢,不是增加了程度的复杂性吗,然而并不一定,举例说明:一个系统必然有 Employee(员工表)(包含字段:EmployeeId、姓名、性别、年龄、电话、地址等),每个员工都为一个用户,所以还有张 User ...
2019-05-04 22:01:10
31033
原创 "CSRF token missing or incorrect."的解决方法总结
现象:Forbidden (403)CSRF verification failed. Request aborted.HelpReason given for failure:CSRF token missing or incorrect.解决方法1:django工程settings.py'django.middleware.common.CommonMiddleware', ...
2019-04-25 21:20:36
6187
原创 django基础
1、通过命令行创建 django项目创建djang项目命令 : django-admin startprojrct 项目名称2.启动项目命令(1)在有manage.py目录启动命令(2)python manage.py runserver(3)修改端口: python manage.py runserver 127.0.0.1:99993.视图函数(1)函数名称 见名知意,...
2019-04-24 10:01:06
101
原创 linux系统和ssh服务
一、ssh服务:SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它...
2019-04-17 19:04:35
191
转载 linux用户及权限管理
Linux用户及权限管理Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。Linux系统用户是根据用户ID来识别的,默认ID长度为32位,从默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下:root用户 (ID 0)系统用户 ...
2019-04-16 19:45:37
174
转载 Linux的50个基本命令
1.ls -a 列出当前目录下的所有文件,包括以.头的隐含文件(如~/.bashrc)ls –l 列出当前目录下文件的详细信息pwd 查看当前所在目录的绝对路经cd 目录之间的移动mkdir目录名 创建一个目录rm 文件名 删除一个文件cat文件名 查看文件内容(全屏查看)7.more文件名 查看文件内容(可左右移动)less文件名查看文件内容(可上下左右...
2019-04-15 19:53:39
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人