自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

默默经营自己的小世界

为了人类更好的生活而奋斗

  • 博客(78)
  • 收藏
  • 关注

原创 PySpark入门第一课:环境安装

一、Python和Java安装由于我的电脑是已经安装好了Java–11.0.4,python–3.7的所以,这两个的安装我就直接跳过了,如果你电脑上没有安装这两个怎么办? 作为贴心小暖男的我,当然是为你们考虑的很周全了呀!Click这个神奇的超链接,你将看见完整的环境安装文档哟!没错,我的PySpark安装也是按照这个操作手册来做的!二、Spark安装2.1 下载文件点击此处访问Apache官网,如果你点击了这个链接,那么你将看到如下截图:而一般建议是版本选择2.1以上的,现在最新版本是3.0,

2020-08-26 23:40:23 378

原创 混合矩阵可视化函数封装

混合矩阵可视化函数封装混合矩阵和交叉表类似,只不过表现的形式不一样, 都是在评判模型是否满足业务场景的一种检测方法, 可以直观的查看查全率.函数定义如下:import itertoolsdef plot_confusion_matrix(cm, classes, title='Confusion matrix', ...

2019-04-03 12:53:26 258

原创 第一个HarmonyOS Hello World

HarmonyOS 硬件设备开发的第一个hello world

2022-08-06 16:11:25 1948 1

原创 Nginx 配置Godaddy下载的没有.key 文件的SSL证书

Nginx 配置Godaddy下载的没有.key 文件的SSL证书一、为Godaddy的ssl配置.csr文件1. 如果是新购买ssl证书: 1. 控制台点击"SSL CERTIFICATES"就可以看到买的SSL,点击其后面的"Set Up"激活这个SSL; 2. 激活成功后,我们在"SSL CERTIFICATES"一栏看到证书已激活,点击后面的"Launch"按钮进入下一步; 3. 这时需要输入 CSR ,页面不要关,需要去服务器生成一个CSR再继续;2. 如果是已完成激活操作的SSL证书

2021-08-11 23:30:16 2704

原创 三个词的无重复组合语句的Python实现

输入三个词的组合可以借助列表的性质来实现,Python中已有封装好的方法:import itertoolsmylist = ['aa', 'bb', 'cc']new_l = [' '.join(i) for i in itertools.product(mylist, repeat=len(mylist)) if len(set(i)) == len(mylist)]print(new_l)...

2020-12-21 21:43:51 337

原创 利用列表性质 替代简单的多IF操作

利用列表性质 替代简单的多IF操作在有一些业务场景中,会遇到根据某一个条件的值去定义其他变量的值,比如国家与其对应的英文简称。用IF语句来写:if state == '中国': code = 'CN' if state == '日本': code = 'JP' if state == '英国': code = 'UK' if state == '法国': code = 'FR'那么用列表来改写# 需要注意的是 两个列表需要保持一一对应

2020-11-27 20:49:18 136

原创 Flask入门学习一之框架介绍

Flask的设计模式:MVC模式/MTV模式MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化界面结构中。 核心思想:解耦, 低耦合高内聚 优点:降低各个模块之间的耦合性,方便变更,更容易重构代码,最大程度实现了代码的重用。MVC(Model,View,Controller) Model:用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法,是Web应用程序中用于处理应用程序的数据逻辑部分,Model通常只提供功能性的接口,通过这些接口可以获取Model

2020-10-29 23:06:04 329

原创 Vue3 跨域请求携带cookie操作并记录cookie

近期做的项目比较杂,涉及到前端框架的工作,遇到了许多问题,记录一下这个比较棘手的问题;项目已有基础:已解决跨域访问的问题,确保请求不会被屏蔽,vue项目中已经配置好了axiosaxios.post('/users/', { username: this.username, password: this.password, }, {

2020-10-28 23:16:19 1722

原创 sklearn 0.23中,sklearn.external中的joblib无法导入

具体原因是版本0.22之后的scikit_learn中就除掉了joblib这个函数或包。需要直接下载joblib这个包安装joblibpip install joblib# 应用from sklearn.datasets import load_irisfrom joblib import dump,loadiris = load_iris()# 保存dump(irirs,'test.joblib')# 调用iris = load('test.joblib')或者使用Pyth

2020-10-22 00:03:54 551

原创 MYSQL数据库的备份操作mysqldump

备份数据库mysqldump -uroot -p database_name > d:\aa.sql备份数据库中的表mysqldump -uroot -p database table1 table2 > d:\aa.sql多个表用空格隔开只备份数据 不要表结构mysqldump -t -uroot -p database table1> d:\aa.sql只要表结构 不要数据mysqldump -d-uroot -p database table1&gt

2020-10-21 00:31:27 81

原创 Python之Pygame模块

Pygamepygame播放音乐pygame.init()进行全部模块的初始化pygame.mixer.init()初始化音频部分pygame.mixer.music.load(‘xx.mp3’)使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。pygame.mixer.music.play()播放载入的音乐。该函数立即返回,音乐播放在后台进行。play方法还可以使用两个参数pygam

2020-10-19 22:35:22 336

原创 Pycharm基础使用

1、在PyCharm下为python项目配置python本地解释器setting-->Project:pycharm workspace-->Project Interpreter-->add local2、在PyCharm下创建Python文件、Python模块 1、file-->new-->python file 2、file-->new-->python packpage3、使用PyCharm安装python第三方模块setting-->

2020-10-18 21:06:00 296

原创 Python基础之socket通讯、TCP及UDP

TCP/IP计算机为了联网,就必须规定通讯协议,早期的计算机网络是由各个厂商规定的一些协议,他们之间互不兼容。为了把全世界的电脑能够连接到一起,那么就必须规定一套全球通用的协议,为了完成这个目标,互联网协议簇就是通讯协议标准,有了internet,任何私有网络,只要支持这个协议就可以联入互联网因为互联网协议包含了上百种协议标准,但是最重要的两个协议就是TCP和IP协议,所以大家把互联网协议简称TCP/IP协议。通讯的时候,双方必须都知道对方的标识,并且这些标识必须都是唯一的,互联网上的每个计算

2020-10-17 22:33:32 235

原创 Python基础之排列组合及正则表达式

排列概念:从n个元素中取出m(m<=n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement),特别地,当m=n时,这个排列被称为全排列(Permutation)'''需求:1 2 3 4假设从中取3个数字,然后对这三个数字进行排列'''#需求:从[1,2,3,4]4个数中随机取出3个数进行排列import itertoolsmyList = list(iterator.permutations([1,2,3,4], 3))print(m

2020-10-16 22:56:06 274

原创 Python基础之单元和文档测试

单元和文档测试测试分类:App测试黑盒测试【要求最低】,白盒测试,灰盒测试单元测试单元测试就是用来对一个模块、一个函数或者一个类来进行正确性的检测工作。1.若是单元测试通过,则证明测试的函数能够正确的工作,2.反之则证明要么函数有bug要么输入不合法,总之我们需要修复我们的函数功能。对函数进行单元测试创建python文件MathFunc.py,内容如下:def mySum(x,y): return x + ydef mySub(x,y) return x -ypr

2020-10-15 23:14:46 161

原创 Python基础之高阶函数

高阶函数MapReduceMapReduce主要应用于分布式中。Python的优点:内置了map()和reduce()函数,可以直接使用。# python内置了map()和reduce()函数'''def myMap(func,li): resList = [] for paser in li: res = func(paser) resList.append(res)''' map()函数功能:将传入的函数依次作用在序列中的每一个元素,并把结果作为新的

2020-10-14 21:01:10 203

原创 Python基础之文件读写

读写文件读文件要以读文件的模式打开一个文件对象,使用python内置的open()函数,传入文件名和标识符:>>> f = open('/user/demo/test.txt','r')标识符’r’表示读,这样,我们就成功地打开了一个文件如果文件不存在,open()函数就会抛出一个IOError的错误,并且会给出详细的错误码和信息,告诉你文件不存在.>>> f=open('/Users/michael/notfound.txt', 'r')Trac

2020-10-13 22:39:17 176

原创 Python基础之继承和多态

继承单继承简单来说,一个子类只能有一个父类,被称为单继承注意:在使用继承时,尽量一个类存在于一个模块中比如,我们定义了一个Animal的class,有一个run()方法class Animal(object): def run(self): print("Animal is running....")当我们需要编写Dog和Cat类时,就可以直接从Animal类继承:class Dog(Animal): passclass Cat(Animal):

2020-10-12 21:58:44 188

原创 Python基础之类的基本方法

构造函数和析构函数构造方法的使用 使用上面的方式可以创建对象,但是,很多类都倾向于将对象创建为有初始化状态.因此类可能定义一个名为__init__()的特殊方法(构造方法) 构造方法也叫做构造器,是指当实例化一个对象(创建一个对象)的时候,第一个被自动调用的方法.演示1:构造方法被调动的动机class Person(): name = "" age = 0 #构造方法 def __init__(self): print("构造函数被执行了")

2020-10-11 21:47:39 205

原创 Python基础之类和对象

类和对象类和对象的概念类:一个具有特殊功能的实体的集合[群体]对象:在一个类中,一个具有特殊功能的实体,能够帮忙解决特定的问题,对象通常也被称为实例.两者之间的关系:类用于描述某一对象的共同特征,而对象则是类的具体存在举例:学生 张三快递 顺丰总结: 类与对象的关系a.类是对象的抽象,对象是类的具体体现b.类也是一种数据类型,只不过是自己定义的类似与number,string等,它本身并不占用空间,但是它的实例[对象]是占用空间的.类的定义格式:class

2020-10-10 21:44:31 168 2

原创 Python基础之栈与队列及递归目录

栈与队列1 栈 stack特点:先进后出 后来者居上mystack = []#压栈[向栈中存数据]mystack.append(1)print(mystack)mystack.append(2)print(mystack)mystack.append(3)print(mystack)#出栈[从栈中取数据]mystack.pop()print(mystack)mystack.pop()print(mystack)2 队列 queue特点: 先进先出#导入数据结

2020-10-09 23:18:23 936 1

原创 Python基础之OS模块及获取windows桌面路径

os模块在自动化测试中,经常需要查找操作文件,比如查找配置文件(从而读取配置文件的信息),查找测试报告等等,经常会对大量文件和路径进行操作,这就依赖os模块1. os.getcwd()功能:查看当前所在路径import osprint(os.getcwd())2. os.listdir()列举目录下所有的文件,返回的是列表类型import osprint(os.listdir("c:\file"))3. os.path.abspath(path)功能:返回path的绝

2020-10-08 22:57:55 1638

原创 Python基础之回调、闭包、递归函数

一 回调函数简单来说:回调函数就是把函数当成一个参数传递到函数中.def wake_call(time): #第一种叫醒服务 print(time,"使用夺命电话连环call叫醒主人")def wake_water(time): #第二种叫醒服务 print(time,"使用早起泼冷水的方式叫醒主人")def call_wake(time, func_name): # 这个很重要,这个就是酒店服务业务的系统业务 #这是实现回调函数的核心 # time :预约时间 # fu

2020-10-07 22:07:17 149

原创 Python基础之变量的作用域

变量的作用域1.1 概述在python程序中,创建,改变,查找变量名的时候,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.简单来说,变量的作用域就是指变量可以使用的范围程序的变量并不是在任意的位置都可以访问,访问权限取决于这个变量是在哪里赋值的.1.2 作用域的划分L(local) 局部作用域局部变量:包含在def关键字定义的语句块中,即在函数中定义变量,每当函数被调用的时候都会创建一个新的局部作用域.注意:如果需要在函数内部对全局变量赋值,需要在函数内部通过

2020-10-06 22:45:57 215

原创 Python基础之特殊的函数--装饰器和偏函数

一、装饰器1.1 概述在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)装饰器实际上就是一个闭包,把一个函数当做函数参数传入,然后返回一个替代版函数,本质上就是一个返回函数的高阶函数1.2 简单的装饰器函数也可以是一个对象,而且函数对象可以被赋值给变量,所以通过变量也可以调用该函数def now(): ptint("2018-3-18")f = nowf()函数对象有一个____name____属性,可以拿到函数的名字:def now():

2020-10-05 21:57:11 1678

原创 Python基础之函数

函数1.函数的概述1.1 认识函数函数:在一个完整的项目中,某些功能会反复的使用,那么会将功能会反复的使用,那么会将功能封装成函数,当我们要使用此功能的时候调用即可。优点:1.简化代码结构,增加了代码的复用性(重复使用的程度)2.增加代码的可维护性,如果想修改某个BUG,只需要对应的函数即可。1.2 定义函数格式:def 函数名(参数列表):语句​ return 表达式解释:def : 函数代码块以def关键字开始函数名:遵循标识符规则参数列表:任何传入函数的参数

2020-10-04 21:54:41 1032 2

原创 Python 基础之列表生成式、可迭代对象、迭代器

1. 列表生成式语法:list = [result for x in range(m, n)]需求:创建一个[1, 2, …100]的列表>>> range(1, 101)[1, 2, 3, 4, 5,...,100]需求2 :生成一个[1x1, 2x2, 3x3,….100x100]的列表>>> list1 = []>>> for x in range(1, 101) list1.append(x*x)>&

2020-10-03 22:22:48 250

原创 Python基础之集合和数据类型转换

Set集合1.概述set与dict类似,也是一组key的集合,但与dict的区别在于set不存储value本质:无序且无重复元素的集合2.set的创建语法:set1 = set([1, 2, 3, 4, 5])注意:创建set需要一个list或者tuple或者dict作为输入集合,重复的元素在set中会被自动的过滤s1 = set([1, 2, 3, 4, 5])print(s1)3.set操作3.1 set.add()注意:1.可以添加重复的元素,但是不会有效果2

2020-10-02 21:54:05 924

原创 Python基础之字典介绍

Dict字典1.概述dict也是一种存储方式,类似于list和tuple,但是,字典采用键—值(key—value)的形式存储优点:具有极快的查找速度2.key的特性1.字典中的key必须唯一2.key必须是不可变对象例如:字符串、整数等都是不可变的,可以作为keylist是可变的,不能作为key思考:保存一个班级中的童鞋的成绩思路1:使用list或者tuple,但是容易发生错乱对不上号思路2:使用二维list或者tuple,但是会比较慢思路3:可以采用字典,将学生的学号或

2020-10-01 22:59:11 109

原创 Python基础之字符串介绍

String字符串1.分割和合并1.1 str1.split(str2, num)功能:以str2为分割截取字符串,num默认为str1.count()若给定num 后,则截取num个字符串,剩余的不再进行截取。str1 = "how are you , i am fine thank you"#使用空格进行分割list1 = str1.split(" ")print(list1)#结果['how', 'are', 'you', ',', 'i', 'am', 'fine', 'th

2020-09-30 23:02:30 280

原创 Pymysql的一些基础操作

1.安装PyMySQLpip3 install PyMySQL2.数据库连接创建表CREATE TABLE student ( id int(10) NOT NULL AUTO_INCREMENT, name char(20) NOT NULL, age int(11) DEFAULT NULL, sex char(1) DEFAULT NULL, score float DEFAULT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFA

2020-09-29 23:03:12 111

原创 Linux基础----之基础命令

1. Linux 目录/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。/bin、/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。/dev:存放linux系统下的设备文件,访问该目

2020-09-28 22:07:20 136

原创 Redis数据库常用命令

1、新增键值a、设置键值set key valueset name 'ming'b、设置键值及过期时间,以秒为单位setex key seconds valuettl key 查看剩余消失的时间setex name 10 'xiaoming' c、设置多个键值mset key value [key value ……]mset name "lili" age 18 sex 'girl'2、获取a、根据键获取值,如果键不存在则返回None(null 0 nil)​

2020-09-27 22:42:56 104

原创 GIT 版本控制系统

git安装(在linux上安装git)1.测试git是否安装> git2.若没有安装则使用以下命令来安装>sudo apt-get install git#邮箱配置git config -global user.name "yourname"git config -global user.email "[email protected]"版本管理库版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个

2020-09-26 22:58:38 178

原创 MySQL数据库的增删改查

1.Mysql操作2.1 创建表语法:CREATE TABLE table_name (column_name column_type);例如:create table student( id int not null auto_increment primary key, sex bit, age int, name char(20), info varchar(100), birthday date);注意:字段使用NOT NULL属

2020-09-25 23:42:56 76

原创 Handler处理器 和 Opener 及Cookie

Handler处理器 和 自定义Openeropener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:1、使用相关的Handler处理器来创建特定功能的处理器对象;2、然后通过urllib2.build_opener()方法使用这些处理器对象,创建自定义opener对象;3、使用

2020-09-24 22:29:18 186

原创 爬虫入门--Request介绍

Request 介绍安装方式利用 pip 安装 或者利用 easy_install 都可以完成安装:pip install requests或 easy_install requestsRequests使用GET请求和POST请求最基本的GET请求最基本的GET请求可以直接用get方法response = requests.get("http://www.baidu.com/")也可以这么写# response = requests.request("get", "http://

2020-09-23 22:26:21 567

原创 Python中的并发---多线程和协程

多线程在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!因为全局解释器锁(GIL)为什么要GIL为了线程间数据的一致性和状态同步的完整性GIL的影响只有一个线程在运行,无法使用多核。在多线程环境中,Python虚拟机按照以下方式执行。 1.设置GIL。 2.切换到一个线程去执行。 3.运行。 4.把线程设置为睡眠状态。 5.解锁GIL。 6.再次重复以上步骤。# 使用线程from threading import Threaddef l

2020-09-22 22:15:03 373

原创 python中的多进程

多进程import multiprocessingimport timedef func(arg): pname = multiprocessing.current_process().name pid = multiprocessing.current_process().pid print("当前进程ID=%d,name=%s" % (pid, pname)) for i in range(5): print(arg) time.

2020-09-21 22:53:04 65

原创 Scrapy-redis 爬虫分布式集群部署

Scrapy-Redis分布式集群Scrapy和Scrapy-Redis的区别Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-Redis 是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)安装Scrapy-Redispip install scrapy-redisScrapy-Redis介绍提供了下面四种组件(components):(四种组件意味着这四个模块都要做相应的修改)SchedulerDuplication Fil

2020-09-19 22:31:15 855 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除