def

Python之Unittest和Requests库详解

China☆狼群 提交于 2021-02-20 17:47:44
1.按类来执行 import unittest class f1(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def test_001(self): pass def test_002(self): pass ''' 按类来执行 ''' if __name__ == ' __main__ ' : suite = unittest.TestSuite(unittest.makeSuite(f1)) unittest.TextTestRunner(verbosity = 2 ).run(suite) 2.加载测试模块来执行 import unittest from selenium import webdriver class BaiduLink(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait( 30 ) self.driver. get (url= " htttp://www.baidu.com " ) def tearDown(self): self.driver.quit() def

django 发布会签到系统web开发

柔情痞子 提交于 2021-02-20 10:54:50
  引言   最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下。也是为了练练手,巩固知识。现在就分享一下成果~   Django工作流   学习django web开发,先来简单了解一下django的工作机制,请看下图: 简单说明: 用户通过浏览器访问:http://127.0.0.1:8000/index,首先运行的是urlpatterns程序,通过url路由找到对应的视图函数views.py,视图函数处理所有逻辑和数据,并且将用户要的数据经过函数处理后通过index.html返回给浏览器前的用户看。    详情流程   从用户通过浏览器访问→函数处理→数据展示,整个形成一个闭关。   MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中: M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。 C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。 V——负责把数据格式化后呈现给用户。   Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理(C交给用户),所以 Django

Python数据结构———队列

痞子三分冷 提交于 2021-02-20 08:25:23
队列(Queue) 队列也是一系列有顺序的元素的集合,新元素的加入在队列的一端,叫做“队尾”(rear),已有元素的移除发生在队列的另一端,叫做“队首”(front),和栈不同的是,队列只能在队尾插入元素,在队首删除元素。最新加入的元素必须处于队尾,在队列停留时间最长的元素处于队首。可以把队列想象成在银行前排队的人群,排在最前面的人第一个办理业务,新来的人只能在后面排队,直到轮到他们为止。这是一种先进先出(FIFO,First-In-First-Out)的数据结构。 队列有两种主要操作:向队列中插入新元素和删除队列中的元素。插入操作也叫做入队,删除操作也叫做出队。入队操作在队尾插入新元素,出队操作删除队头的元素。 队列的另外一项重要操作是读取队头的元素。这个操作叫做peek()。该操作返回队头元素,但不把它从队列中删除。除了读取队头元素,我们还想知道队列中存储了多少元素,可以使用size()满足该需求。 队列Queue的操作: Queue ( ) 定义一个空队列,无参数,返回值是空队列。 enqueue ( item ) 在队列尾部加入一个数据项,参数是数据项,无返回值。 dequeue ( ) 删除队列头部的数据项,不需要参数,返回值是被删除的数据,队列本身有变化。 isEmpty ( ) 检测队列是否为空。无参数,返回布尔值。 size ( ) 返回队列数据项的数量。无参数

23、Python之加密&解密以及加签&验签

笑着哭i 提交于 2021-02-20 08:07:13
一、rsa基本原理 关于加密与加签其目的就是为了保证数据传输的安全性,加签的作用就像签名,告诉别人这个就是我发的数据,别人无法模仿,加密的作用是传输的报文是一串密文,他人无法看懂什么意思,下图描述了使用rsa进行加签,加密,验签,解密的过程。 AB双方生成2对秘钥,A用自己的私钥进行签名(表示是自己发的数据),然后用B的公钥进行加密(这个数据是密文,第三方压根看不懂),B在接收到A发过来的数据时,先用B的私钥进行解密(嘿嘿,只有我能解密),随后用A的公钥进行验签(嗯,就是A发过来的数据),最终使用A传过来的明文进行后续业务处理(上图中B端数据描述不太准确,忽略,懒的画图)。后续通信亦是如此! 二、python中rsa操作 python中使用rsa模块,首先我们要先生成2对秘钥值,在python中使用下面代码生成秘钥值(记得生成2对)。 1 import rsa 2 3 import base64 4 # 生成密钥 5 (pubkey, privkey) = rsa.newkeys(1024 ) 6 # 保存密钥 7 with open( ' public.pem ' , ' w+ ' ) as f: 8 f.write(pubkey.save_pkcs1().decode()) 9 10 with open( ' private.pem ' , ' w+ ' ) as f: 11

Python系统监控脚本

不问归期 提交于 2021-02-20 02:49:43
1 import psutil # 载入psutil模块 2 import smtplib # 载入smtplib模块 3 from email.mime.text import MIMEText 4 from email.header import Header 5 6 def cpu_info(): # 定义CPU使用率函数 7 cpu = ' %.2f%% ' % psutil.cpu_percent(1) # 截取1秒内cpu的使用率。 8 return cpu 9 # %.2f表示输出浮点数并保留两位小数。%%表示直接输出一个%。 10 def mem_info(): # 定义内存使用率 11 mem = psutil.virtual_memory() 12 mem_per = ' %.2f%% ' % mem[2 ] 13 mem_total = str(int(mem[0]/1024/1024)) + ' M ' 14 mem_used = str(int(mem[3]/1024/1024)) + ' M ' 15 info = { 16 ' mem_per ' :mem_per, 17 ' mem_total ' :mem_total, 18 ' mem_used ' :mem_used 19 } # 建立字典,方便后边调用值 20 return info 21

神经网络-全连接层(1)

Deadly 提交于 2021-02-19 11:43:29
接下来聊一聊现在大热的神经网络。最近这几年深度学习发展十分迅速,感觉已经占据了整个机器学习的“半壁江山”。各大会议也是被深度学习占据,引领了一波潮流。深度学习中目前最火热的两大类是卷积神经网络(CNN)和递归神经网络(RNN),就从这两个模型开始聊起。 当然,这两个模型所涉及到概念内容实在太多,要写的东西也比较多,所以为了能把事情讲得更清楚,这里从一些基本概念聊起,大神们不要觉得无聊啊…… 今天扯的是全连接层,也是神经网络中的重要组成部分。关于神经网络是怎么发明出来的这里就不说了。全连接层一般由两个部分组成,为了后面的公式能够更加清楚的表述,以下的变量名中 上标表示所在的层,下标表示一个向量或矩阵内的行列号: 线性部分:主要做线性转换,输入用X表示,输出用Z表示 非线性部分:那当然是做非线性变换了,输入用线性部分的输出Z表示,输出用X表示。 线性部分 线性部分做了什么事情呢?简单来说就是对输入数据做不同角度的分析,得出该角度下对整体输入数据的判断。 这么说有点抽象,举一个实际点的例子,就拿CNN的入门case——MNIST举例。MNIST的例子在此不多说了,它是一个手写数字的识别项目,输入是一张28*28的二值图,输出是0-9这是个数字,这里假设我们采用完全全连接的模型,那么我们的输入就是28*28=784个像素点。数据显示到屏幕上大概是这个样子: 对于我们来说

Django rest framework(1)----认证

和自甴很熟 提交于 2021-02-19 11:03:04
目录 Django组件库之(一) APIView源码 Django restframework (1) ----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Django rest framework(4)----版本 Django rest framework(5)----解析器 Django rest framework(6)----序列化 Django rest framework(7)----分页 一、基础 1.1.安装 两种方式: github pip直接安装 pip install djangorestframework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,django-rest-framework源码中到处都是基于CBV和面向对象的封装 (1)面向对象封装的两大特性 把同一类方法封装到类中 将数据封装到对象中 (2)CBV 基于反射实现根据请求方式不同,执行不同的方法 原理:url-->view方法-->dispatch方法(反射执行其它方法:GET/POST/PUT/DELETE等等) 二、简单实例 2.1.settings 先创建一个project和一个app(我这里命名为API) 首先要在settings的app中添加 INSTALLED_APPS = [

Python+request 登录接口reponse的返回值token跨py文件的传递《二》

独自空忆成欢 提交于 2021-02-19 11:01:58
主要使用场景:   一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用。共用登录接口。 操作步骤:   1、创建gol命名的py文件,对全局变量的使用方法进行封装,后期有用到全局变量时均可使用   2、单独创建login的py文件,和todo的py文件。   3、todo文件中调用login并运行,查看结果 页面结构如下截图:    操作步骤代码如下: 1、gol.py 文件中主要是对之后全局变量可使用的封装 # -*- coding: utf-8 -*- # 全局变量使用 def _init(): # 初始化 global _global_dict _global_dict = {} def set_value(key, value= None): """ 定义一个全局变量 """ _global_dict[key] = value def get_value(key, defValue= None): """ 获得一个全局变量,不存在则返回默认值 """ try : return _global_dict[key] except KeyError: return defValue 2、login.py 文件是登录接口的方法。注意点:   (1)需调用

Django REST framework视图

孤街醉人 提交于 2021-02-19 08:11:05
Django REST framework视图 学习序列化的时候发现有大量的冗余代码,所以我们要使用Django REST framework里的视图减少我们的代码 DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。 比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某些情况下的POST数据。 在APIView中封装的request,就实现了请求数据的解析: 对于GET请求的参数我们通过request.query_params来获取。 对于POST请求、PUT请求的数据我们通过request.data来获取。 学习序列化时的部分 from rest_framework.views import APIView from rest_framework.response import Response from .models import * from django.shortcuts import HttpResponse from django.core import serializers from rest_framework import serializers class

基于内容的推荐例子(电影推荐)

会有一股神秘感。 提交于 2021-02-19 08:07:49
推荐例子介绍 根据典型关键数据 导演 演员 关键字 题材 'keywords ', 'cast ', 'genres ', 'director ' 构造自然语言的组合特征,利用CountVectorizer计算每个词出现的次数,作为特征向量, 使用余弦相似性构造所有电影之间的相似性。 代码 https://github.com/fanqingsong/Content-based-Recommandation-Engine import pandas as pd from sklearn.feature_extraction.text import CountVectorizer from sklearn.metrics.pairwise import cosine_similarity def get_title_from_index(index): return df[df.index == index][ " title " ].values[0] def get_index_from_title(title): return df[df.title == title][ " index " ].values[0] # Reading CSV File df = pd.read_csv( " movie_dataset_content.csv " , encoding= '