07 2020 档案

摘要:知识点:join()函数的用法 语法: 'sep'.join(seq) 参数说明sep:分隔符。可以为空seq:要连接的元素序列、字符串、元组、字典上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 返回值:返回一个以分隔符sep连接各个元素后生成的字符串 示例: from r 阅读全文
posted @ 2020-07-31 09:43 zh_小猿 阅读(943) 评论(0) 推荐(0) 编辑
摘要:安装包 如果安装出错比如超时,我们可以点击这个网站下载相关包进行安装 我们还可以使用国内豆瓣源进行相关包的安装,这样安装速度比较快,用法: pip install -i https://pypi.douban.com/simple pillow 阅读全文
posted @ 2020-07-27 15:37 zh_小猿 阅读(108) 评论(0) 推荐(0) 编辑
摘要:一、安装mysql 1、安装mysql sudo apt-get install mysql-server 此外还能安装mysql-workbench sudo apt-get install mysql-workbench 2、安装之后查看默认的用户名和密码 sudo cat /etc/mysql 阅读全文
posted @ 2020-07-27 11:27 zh_小猿 阅读(492) 评论(0) 推荐(0) 编辑
摘要:一、初识linux:相关命令 二、相关软件安装 阅读全文
posted @ 2020-07-26 14:22 zh_小猿 阅读(93) 评论(0) 推荐(0) 编辑
摘要:海燕 hashlib提供了常见的摘要算法,如md5和sha1等等。那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化)应涂:1.做文 阅读全文
posted @ 2020-07-16 14:47 zh_小猿 阅读(123) 评论(0) 推荐(0) 编辑
摘要:海燕 字符组 字符 量词 .^$ *+?{} 贪婪匹配 字符集 分组()与或|[^]: (1)^[1-9]\d{13,16}[0-9x]$ #^以数字0-9开始, \d{13,16}重复13次到16次 $结束标志 上面的表达式可以匹配一个正确的身份证号码 (2)^[1-9]\d{14}(\d{2}[ 阅读全文
posted @ 2020-07-16 14:30 zh_小猿 阅读(110) 评论(0) 推荐(0) 编辑
摘要:海燕 一、time模块 import time # 时间分为三种形式 #1、时间戳 print(time.time()) start_time=time.time() time.sleep(3) stop_time=time.time() print(stop_time-start_time) '' 阅读全文
posted @ 2020-07-16 14:05 zh_小猿 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、序列化与反序列化 import json dic={'k1':'v1','k2':'v2','k3':'v3'} print(type(dic)) # 序列化:内存中的数据结构 》转成一种中间格式(字符串) 》存到文件中 #dumps str_dic = json.dumps(dic) #将字典 阅读全文
posted @ 2020-07-16 13:45 zh_小猿 阅读(138) 评论(0) 推荐(0) 编辑
摘要:示例: #1、列表生成式 l=[] for i in range(6): l.append('egg%s' %i) print(l) ''' ['egg0', 'egg1', 'egg2', 'egg3', 'egg4', 'egg5'] ''' l=['egg%s' %i for i in ran 阅读全文
posted @ 2020-07-16 09:39 zh_小猿 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、三元表达式 应用于: 1、条件成立返回 一个值 2、条件不成立返回 一个值 示例: x=12 y=11 res=x if x > y else y print(res) ''' 12 ''' def max2(x,y): return x if x > y else y print(max2(1 阅读全文
posted @ 2020-07-16 09:06 zh_小猿 阅读(143) 评论(0) 推荐(0) 编辑
摘要:一、迭代器 1、什么是迭代?迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 2、要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象?可迭代的对象:在python中,但凡内置有__iter__方法的对象,都是可迭代的对象字符串,列表,元组,集合,字典都是可迭代的 #以下都是 阅读全文
posted @ 2020-07-15 22:12 zh_小猿 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、 闭包函数 #闭:指的是定义在函数内部的函数 #!!!作用域关系 在函数定义阶段就规定死了,与调用位置无关 def outter(): x=2 def inner(): x=1 print('from inner',x) return inner f=outter() #f=inner prin 阅读全文
posted @ 2020-07-15 17:05 zh_小猿 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、dupefilter去重 1、编写类 dupefilters.py from scrapy.dupefilter import BaseDupeFilter from scrapy.utils.request import request_fingerprint #自定义去重规则 class X 阅读全文
posted @ 2020-07-13 16:09 zh_小猿 阅读(311) 评论(0) 推荐(0) 编辑
摘要:注意:pipeline是所有爬虫公用的,如果想要给某个爬虫定制需要使用spider参数自己进行处理。 流程: 1、先写pipeline类,默认会生成 #pipelines.py class XXXPipeline(object): def process_item(self, item, spide 阅读全文
posted @ 2020-07-13 15:32 zh_小猿 阅读(193) 评论(0) 推荐(0) 编辑
摘要:wusir Twisted下载 Twisted安装不成功解决办法:把Twisted-17.1.0-cp36-cp36m-win_amd64.whl改为Twisted-17.1.0-py36-none-any.whl然后再进行安装。 Scrapy是一个大而全的爬虫组件; Scrapy是一个为了爬取网站 阅读全文
posted @ 2020-07-12 17:25 zh_小猿 阅读(231) 评论(0) 推荐(0) 编辑
摘要:发送数据格式与对应接收方法 方式一: request.post( url='xx', data={'k1':'v1,'k2':'v2'} ) #数据: POST / http1.1\r\nContent-type:urlencode-form.......\r\n\r\nk1=v1&k2=v2 re 阅读全文
posted @ 2020-07-12 13:45 zh_小猿 阅读(261) 评论(0) 推荐(0) 编辑
摘要:一、轮询 前端通过定时器每隔多少秒钟发送一次请求。 投票示例: app.py from flask import Flask,render_template,request,jsonify app = Flask(__name__) USERS = { '1':{'name':'贝贝','count 阅读全文
posted @ 2020-07-10 16:40 zh_小猿 阅读(187) 评论(0) 推荐(0) 编辑
摘要:wusir requests模块 import requests """ # 1. 方法 requests.get requests.post requests.put requests.delete ... requests.request(method='POST') """ # 2. 参数 " 阅读全文
posted @ 2020-07-10 10:06 zh_小猿 阅读(185) 评论(0) 推荐(0) 编辑
摘要:一、flask-sqlalchemy a. 下载安装 pip3 install flask-sqlalchemy b. chun.__init__.py 导入并实例化SQLAlchemy from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy( 阅读全文
posted @ 2020-07-09 19:27 zh_小猿 阅读(216) 评论(0) 推荐(0) 编辑
摘要:wusir 一、介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy SQLAlchemy本身 阅读全文
posted @ 2020-07-08 21:27 zh_小猿 阅读(134) 评论(0) 推荐(0) 编辑
摘要:- __mro__ - 应用:wtforms中meta使用(meta作用定制csrf token) 示例 from flask import Flask,request,render_template,session,current_app,g,redirect from wtforms impor 阅读全文
posted @ 2020-07-08 16:30 zh_小猿 阅读(229) 评论(0) 推荐(0) 编辑
摘要:-对象为什么可以被for循环? 答:变为可迭代对象。 class Foo(object): # def __iter__(self): # return iter([11,22,33]) def __iter__(self): yield 1 yield 2 yield 3 obj = Foo() 阅读全文
posted @ 2020-07-07 09:37 zh_小猿 阅读(433) 评论(0) 推荐(0) 编辑
摘要:wusir WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。 两大作用: - 生成HTML标签 - form表单验证 安装: pip3 install wtforms 用户登录注册示例 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验 阅读全文
posted @ 2020-07-06 21:56 zh_小猿 阅读(149) 评论(0) 推荐(0) 编辑
摘要:DBUtils是Python的一个用于实现数据库连接池的模块。 pip3 install DBUtils 此连接池有两种连接模式: 模式一:为每个线程创建一个数据库连接,当前线程中如果进行多次数据库操作时永远使用同一个连接。线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线 阅读全文
posted @ 2020-07-05 09:54 zh_小猿 阅读(799) 评论(0) 推荐(0) 编辑
摘要:链接 #(1)__init__:初始化 #(2)__str__:在打印时改变对象的字符串显示,在打印类的时候会调用此方法,返回的是一个字符串 #(3)__repr__ #(4)__new__:创建对象。执行__init__之前执行__new__方法,在单例/rest framework序列化中使用过 阅读全文
posted @ 2020-07-04 19:25 zh_小猿 阅读(163) 评论(0) 推荐(0) 编辑
摘要:请求上下文管理流程: - 请求到来之后wsgi会触发__call__方法,由__call__方法再次调用wsgi_app方法 - 在wsgi_app方法中: - 首先将 请求相关+空session 封装到一个RequestContext对象中,即:ctx。 - 将ctx交给LocalStack对象, 阅读全文
posted @ 2020-07-04 15:38 zh_小猿 阅读(169) 评论(0) 推荐(0) 编辑
摘要:示例 #flask源码中Local对象 import functools try: from greenlet import getcurrent as get_ident except: from threading import get_ident #作用:为每个线程开辟空间 class Loc 阅读全文
posted @ 2020-07-04 12:46 zh_小猿 阅读(239) 评论(0) 推荐(0) 编辑
摘要:示例 # by luffycity.com class Stack(object): def __init__(self): self.data = [] def push(self,val): self.data.append(val) def pop(self): return self.dat 阅读全文
posted @ 2020-07-04 09:48 zh_小猿 阅读(109) 评论(0) 推荐(0) 编辑
摘要:示例 ''' class Foo(object): def __init__(self): self.storage = {} #上面代码想在对象中设置一个storage = {},但是上面语法执行完之后还没有进行创建,因为它要执行__setattr__方法进行创建, #但执行上面代码会触发类中__ 阅读全文
posted @ 2020-07-04 09:37 zh_小猿 阅读(135) 评论(0) 推荐(0) 编辑
摘要:示例 class Base(object): def func(self): print('Base.func') class Foo(Base): def func(self): # 方式一:根据mro的顺序执行方法 # super(Foo,self).func() # 方式二:主动执行Base类 阅读全文
posted @ 2020-07-03 22:18 zh_小猿 阅读(243) 评论(0) 推荐(0) 编辑
摘要:偏函数: 偏函数是2.5版本以后引进来的东西。属于函数式编程的一部分,使用偏函数可以通过有效地“冻结”那些预先确定的参数,来缓存函数参数,然后在运行时,当获得需要的剩余参数后,可以将他们解冻,传递到最终的参数中,从而使用最终确定的所有参数去调用函数。 示例 import functools def 阅读全文
posted @ 2020-07-03 22:04 zh_小猿 阅读(173) 评论(0) 推荐(0) 编辑
摘要:作用:为每个线程创建一个独立的空间,使得线程对自己的空间中的数据进行操作(数据隔离)。 import threading from threading import local import time obj = local() def task(i): obj.xxxxx = i time.sle 阅读全文
posted @ 2020-07-03 20:33 zh_小猿 阅读(116) 评论(0) 推荐(0) 编辑
摘要:链接 wusir 海燕 为开发者提供目录结构 之前我们已经通过代码了解了一些Flask基本的用法,现在出现一个问题,我们要做的功能越来越多,路由是不是都要放在启动类中呢?例如我们在不同的文件都定义了一些路由,如果想要访问他们,是不是要开启很多个不同的服务呢? Flask中提供了蓝图,专门用作Flas 阅读全文
posted @ 2020-07-03 19:16 zh_小猿 阅读(154) 评论(0) 推荐(0) 编辑
摘要:链接 app.py # session执行流程源码初探 from flask import Flask # 1. 实例化Flask对象 app = Flask(__name__) # 2. 设置路由 """ self.url_map=Map() url.map是一个对象,里面可以看作是一个列表或者字 阅读全文
posted @ 2020-07-03 15:36 zh_小猿 阅读(254) 评论(0) 推荐(0) 编辑
摘要:链接 知识点: - 给你一个路径 “settings.Foo”,找到类并获取去其中的大写的静态字段。 settings.py class Foo: DEBUG = True TEST = True xx.py import importlib path = "settings.Foo" p,c = 阅读全文
posted @ 2020-07-03 10:36 zh_小猿 阅读(125) 评论(0) 推荐(0) 编辑
摘要:链接 mysql是一个软件,帮助开发者对一台机器的硬盘进行操作。 redis是一个软件,帮助开发者对一台机器的内存进行操作。 特点: a. 持久化 --AOF、RDB b. 单进程、单线程 c. 5大数据类型 redis={ k1:'123', 字符串 k2:[1,2,3,4,4,2,1], 列表 阅读全文
posted @ 2020-07-02 10:27 zh_小猿 阅读(149) 评论(0) 推荐(0) 编辑
摘要:链接 # 1. 装饰器 import functools def auth(func): # @functools.wraps(func) 加上这个后print(index.__name__)打印的结果是index, 但本质上执行的还是inner函数,把原函数的源信息封装到闭包函数里了 # 可避免e 阅读全文
posted @ 2020-07-02 10:15 zh_小猿 阅读(144) 评论(0) 推荐(0) 编辑