首页
时间胶囊
壁纸
留言
统计
友链
Search
1
linux大作业(DHCP部署)
179 阅读
2
图
88 阅读
3
Python中os.mkdir()与os.makedirs()的区别及用法
82 阅读
4
英语插本笔记
70 阅读
5
C语言笔记
70 阅读
默认分类
网站搭建
学习笔记
Python
Django
opencv
机器学习
英语插本
数据结构插本笔记
物联网学习
mricropython
登录
Search
yao
累计撰写
25
篇文章
累计收到
15
条评论
首页
栏目
默认分类
网站搭建
学习笔记
Python
Django
opencv
机器学习
英语插本
数据结构插本笔记
物联网学习
mricropython
页面
时间胶囊
壁纸
留言
统计
友链
搜索到
18
篇与
的结果
2022-08-13
Matplotlib使用说明
1. Matplotlib绘图流程创建画布绘制图像显示图像下面代码演示#简单画布 import matplotlib.pyplot as plt # 1.创建画布 plt.figure() #2. 图像绘制 x = range(6) y = range(4,10) plt.plot(x,y) #3. 图像显示 plt.show()2.基础功能演示1.画布参数:figurefigsize:画布大小设置,分别是x,y轴反向的大小dpi:画布分辨率:plt.figure(figsize=(20,10),dpi=200)2.图像保存:savefige需要在展示图像的前面设置,plt.show()会释放figure资源,如果在显示图像之后保存图像只能保存空图像。参数写保存的图片地址。plt.savefige('test.png')3.自定义刻度:xticks,yticksplt.xticks(x,**kwargs):x要显示的刻度值plt.yticks(y,**kwargs):y要显示的刻度值第一参数为需要显示的刻度值,需要数字类型第二个参数为要显示刻度名,如果没写,显示第一个参数创建的刻度值{callout color="#7cae1e"}出现以下问题是因为没有安装中文包{/callout}{card-describe title="解决方法"}可在代码中编写以下代码matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号更多解决方法请点击链接查看:https://blog.csdn.net/qq_17753903/article/details/86260276{/card-describe}4.添加网格信息:gridplt.grid(True,linestyle='--',alpha=1)True:表示添加linestyle:表示添加的是虚线还是实线一个-表示实线两个--表示虚线alpha:表示对应的透明度5.添加描述信息plt.xlabel:x轴标签plt.ylabel:y轴标签plt.title:数据表标题plt.xlabel('时间') plt.ylabel("温度") plt.title("一小时温度变化图",fontsize=20)效果如下:可用fontsizea参数调节字体大小5.多个信息只需在原有的基础再次添加plot即可,但需区分线条,那就需要显示图例plt.legend()loc:显示位置,值默认为best,可填入0-10需要在plot里面添加label信息location stringlocation codebest0upper right1upper left2lower left3lower right4right5center left6center right7lower center8upper center9center106. 设置图形风格plt.polt(x,y,color="r",linestyle='--',label='北京')x:x轴数据y:y轴数据color:折线颜色linestyle:线条形状lebel:线条标签名颜色字符风格字符r红色- 实线g绿色-- 虚线b蓝色-. 点划线w白色: 点虚线c青色'' 留空,空格m洋红 y黄色 k黑色 7.多个坐标系显示:plt.subplots(面向对象的画图方法)显示效果如下:fig,axes = plt.subplot(nrows=2,ncols=1,figsize=(20.8),dpi=200)nrows:表示绘制几行图像ncols:表示绘制几列图像注意:有些方法需要添加set_*,以下是一个与多个区别,代码演示。#温度实例 import matplotlib.pyplot as plt import random import matplotlib matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文 matplotlib.rcParams['axes.unicode_minus']=False x = range(60) y_beijing = [random.uniform(10,15) for i in x] y_shanghai = [random.uniform(10,15) for i in x] ## 画布 #plt.figure(figsize=(20,8),dpi=100) fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=200) ## 图像绘制 # plt.plot(x,y_beijing,label='北京') # plt.plot(x,y_shanghai,label='上海',linestyle=':') axes[0].plot(x,y_beijing,color='r',label='北京') axes[1].plot(x,y_shanghai,label='上海',linestyle=':') ## y刻度 y_ticks=range(40) # plt.yticks(y_ticks[::5]) axes[0].set_yticks(y_ticks[::5]) axes[1].set_yticks(y_ticks[::5]) # #x刻度 x_ticks_label = ['11点{}分'.format(i) for i in x] # plt.xticks(x[::5],x_ticks_label[::5]) axes[0].set_xticks(x[::5]) axes[0].set_xticklabels(x_ticks_label[::5]) axes[1].set_xticks(x[::5]) axes[1].set_xticklabels(x_ticks_label[::5]) # #添加网格 # plt.grid(True,linestyle='-',alpha=1) axes[0].grid(True,linestyle='-',alpha=1) axes[1].grid(True,linestyle='-',alpha=1) # #添加信息 # plt.xlabel('时间') # plt.ylabel("温度") # plt.title("一小时温度变化图",fontsize=20) axes[0].set_xlabel('时间') axes[0].set_ylabel("温度") axes[0].set_title("北京一小时温度变化图",fontsize=20) axes[1].set_xlabel('时间') axes[1].set_ylabel("温度") axes[1].set_title("上海一小时温度变化图",fontsize=20) # #显示图例 # plt.legend(loc='best',fontsize=20) axes[0].legend(loc='best',fontsize=20) axes[1].legend(loc='best',fontsize=20) plt.show() plot绘制数学图像(爱心)效果如下:具体代码如下import numpy as np #生成数据 x = np.linspace(-np.pi/2,np.pi/2,500) # 在【Π/2,Π/2】的范围内生成500个数 y=(0.64*np.sqrt(abs(x))-0.8+1.2**abs(x)*np.cos(200*x))*np.sqrt(np.cos(x)) plt.figure(figsize=(10,10),dpi=50) plt.plot(x,y,color='r') plt.grid() plt.show()
2022年08月13日
21 阅读
0 评论
1 点赞
2022-08-10
jupyter notebook使用
快捷键使用1. 两种模式通用快捷键Shift+Enter : 执行本单元代码,并跳转到下一单元Ctrl+Enter : 执行本单元代码,留在本单元2. 命令模式:按esc进入Y: cell切换到Code模式M: cell切换到Markdown模式A: 在当前cell的下面添加cellB: 在当前cell的上面添加cell双击D:删除当前cellZ: 回退L: 为当前cell加上句号Ctrl+shitl+P: 对话框输入命令直接运行Ctrl+Home: 快速跳转到首个cellCtrl+End: 快速跳转到最后一个cell3. 编辑模式:按Enter进入多光标操作:Ctrl键点击鼠标回退: Ctrl+z重做: Ctrl+y补全代码:变量,方法后跟Tab键为一行或多行代码添加/取消注释: Ctrl+/屏蔽自动输出信息: 可在最后一条语句在之后加上一个句号
2022年08月10日
13 阅读
0 评论
0 点赞
2022-03-14
opencv图像处理(一)
1.使用- 安装openc库如果下载速度慢,用下面清华下载链接,如果不用直接从—i开始删掉后面的代码 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple- 导入库import cv22.常用命令{collapse}{collapse-item label="读取图片imread" open}img = cv2.imread("lena_std.tif",)#读取图片img = cv2.imread(图片路径,通道){/collapse-item}{collapse-item label="保存图片"}cv2.imwrite('C:1.png', img) # 将图片保存在C盘的根目录下{/collapse-item}{collapse-item label="创建窗口namedWindow"}cv2.namedWindow('imgWindow', 0) # 创建窗口 {/collapse-item}{collapse-item label="查看图片信息"}img = cv2.imread('21.jpg', 0) 读入一幅彩色图片,以灰度格式显示 print( img.shape, img.size, img.dtype) # 显示图片的形状、大小及类型信息{/collapse-item}{collapse-item label="展示图片imshow"}cv2.imshow('image',img) # 展示图片cv2.imshow('图片窗口名',图片名){/collapse-item}{collapse-item label="修改图片"}img[200:300,200:300,0]=255 #修改图片的颜色img[范围位置,范围位置,通道]=颜色值{/collapse-item}{collapse-item label="关闭窗口waitKey"}cv2.waitKey() #设置关闭时间,{/collapse-item}{collapse-item label="销毁窗口destroyAllWindows"}cv2.destroyAllWindows()#销毁窗口,一般不设置的,会出现关闭图片窗口未响应{/collapse-item}{/collapse}{lamp/}3.补充细节- cv2.namedWindow{callout color="#f0ad4e"}使用cv2.imshow()的时候,如果图片太大,会显示不全并且无法调整。因此在cv2.imshow()的前面加上这样的一个语句:cv2.namedWindow('image', 0),得到的图像框就可以自行调整大小,可以拉伸进行自由调整。{/callout}{card-describe title="扩展资料"}用法:cv2.namedWindow('窗口标题',默认参数)默认参数: cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDED)参数:cv2.WINDOW_NORMAL:窗口大小可改变。cv2.WINDOW_AUTOSIZE:窗口大小不可改变。cv2.WINDOW_FREERATIO:自适应比例。cv2.WINDOW_KEEPRATIO:保持比例。{/card-describe}- numpy库{card-list}{card-list-item}numpy.arange(start, stop, step, dtype = None)主要是用于生成数组 {card-describe title="参数"}start —— 开始位置,数字,可选项,默认起始值为0stop —— 停止位置,数字step —— 步长,数字,可选项, 默认步长为1,如果指定了step,则还必须给出start。dtype —— 输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。{/card-describe}a = numpy.arange(30,-20,-3) #获取数组numpy.arange(左区间,右区间,间隔){/card-list-item}{card-list-item} numpy.zeros(shape,dtype=float,order = 'C')返回给定形状和类型的新数组,用0填充img = np.zeros((512,512,3),dtype=np.uint8) 返回给定形状和类型的新数组,用0填充 {/card-list-item}{/card-list}
2022年03月14日
14 阅读
0 评论
0 点赞
2022-03-07
Django之数据库操作orm
1 ORMDjango开发操作数据库更简单,内部提供了ORM框架ORM可以帮助我们做两件事:创建、修改、删除数据库中的表(不用你写SQL语句)。 【无法创建数据库】操作表中的数据(不用写SQL语句)。操作教程1. 自己创建数据库启动MySQL服务自带工具创建数据库create database gx_day15 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;2. django连接数据库在settings.py文件中进行配置和修改。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'gx_day15', # 数据库名字 'USER': 'root', 'PASSWORD': 'root123', 'HOST': '127.0.0.1', # 那台机器安装了MySQL 'PORT': 3306, } }3.django操作表创建表删除表修改表创建表:在models.py文件中执行命令:python manage.py makemigrations python manage.py migrate注意:app需要提前注册。在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据:1,手动输入一个值。设置默认值age = models.IntegerField(default=2)允许为空data = models.IntegerField(null=True, blank=True)以后在开发中如果想要对表结构进行调整:在models.py文件中操作类即可。命令python manage.py makemigrations python manage.py migrate4.表中的数据# #### 1.新建 #### # Department.objects.create(title="销售部") # Department.objects.create(title="IT部") # Department.objects.create(title="运营部") # UserInfo.objects.create(name="武沛齐", password="123", age=19) # UserInfo.objects.create(name="朱虎飞", password="666", age=29) # UserInfo.objects.create(name="吴阳军", password="666") # #### 2.删除 #### # UserInfo.objects.filter(id=3).delete() # Department.objects.all().delete() # #### 3.获取数据 #### # 3.1 获取符合条件的所有数据 # data_list = [对象,对象,对象] QuerySet类型 # data_list = UserInfo.objects.all() # for obj in data_list: # print(obj.id, obj.name, obj.password, obj.age) # data_list = [对象,] # data_list = UserInfo.objects.filter(id=1) # print(data_list) # 3.1 获取第一条数据【对象】 # row_obj = UserInfo.objects.filter(id=1).first() # print(row_obj.id, row_obj.name, row_obj.password, row_obj.age) # #### 4.更新数据 #### # UserInfo.objects.all().update(password=999) # UserInfo.objects.filter(id=2).update(age=999) # UserInfo.objects.filter(name="朱虎飞").update(age=999)
2022年03月07日
12 阅读
1 评论
0 点赞
2022-02-21
创建Django项目常用命令及注意事项
1. 创建项目django-admin startproject 项目名django-admin startproject web012. 创建apppython manage.py startapp app名字python manage.py startapp app01{callout color="#ef4d4d"} 创建完成需要注册你的app,在项目文件的settings.py中设置,找到下图位置 {/callout}# 'app名字.apps(app名字)Config' 'app01.apps.App01Config'3. 命令行启动python manage.py runserver4.常见的文件夹{card-default label="点击复制" width="100%"}{alert type="info"}{copy showText="templates模板文件夹" copyText="templates"/}{copy showText="static静态文件目录" copyText="static"/}{/alert}{/card-default}引用静态文件5. django连接数据库在settings.py文件中进行配置和修改。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'gx_day15', # 数据库名字 'USER': 'root',#用户名 'PASSWORD': 'root123',#密码 'HOST': '127.0.0.1', # 那台机器安装了MySQL 'PORT': 3306,#端口 } }创建表执行命令python manage.py makemigrations python manage.py migrate注意:app需要提前注册。
2022年02月21日
24 阅读
0 评论
0 点赞
2022-02-16
Django安装和创建项目
1.简介 Django是一个由Python写成的Web应用框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。 学习本教程前你需要了解一些基础的 Web 知识及 Python 2.x 基础教程 或 Python 3.x 基础教程,还有Mysql数据库基础2.安装Django (1)Djiang属于python第三方库,所以安装就在终端直接输入下面命令pip install django (2)安装django之后会在python解释器的目录下多出一个文件, 在lib(模块库)文件夹里有内置模块,还有个site-packages文件夹里面放自己安装的模块,就是框架源码。 还有一个文件django-admin.exe在解释器根目录下的scripts目录下,作用是帮助你创建django项目,就是帮你创建项目默认文件和文件夹。3.创建项目使用教程 django中的项目会有一些默认的文件和文件夹,所以要利用上面的django-admin工具来创建 (1).在终端上创建项目进入你创建项目的目录(cd 是在终端打开目录位置):cd 你项目目录 (window默认为打开在c盘,要换d盘需要先输入d(你的盘符):)通过django-admin.exe来执行你的命令 djiango-admin.exe的目录位置 startproject 项目名称例如我的就是下面的代码 C:\Users\yao\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\django-admin. exe startproject mysite如果已经加入环境变量就直接 : django-admin.exe startproject 项目名称 (2).在pycharm下安装在pycharm下创建也是比较简单在pycharm开始页面点击创建新项目其他步骤如之后如下图 两个的对比命令行,创建的项目是标准的。pycharm,在标准的基础上加了一些创建了一个templates目录在settings.py加了一行代码,如图{lamp/}4.默认文件说明 4.app的创建和说明(1).app不是手机上的软件,django中的app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。(2).每个app中可以有独立的表结构,函数,HTML模板,css.可以各种独立,不相互影响。{callout color="#f0ad4e"}注意:我们开发比较简洁,则用不到多个app,一般情况下,项目下创建一个app。{/callout} (3).创建app在项目目录下利用manage.pyc创建,在终端输入python manage.py startapp app的名称,如:python manage.py startapp app01文件说明migrations目录,数据库变更记录tests.py:做单元测试的admin.py: 默认提供了admin后台管理apps.py: app启动类views.py:一般url对应的函数写在这里 【重要】models.py:对数据库操作 【重要】
2022年02月16日
7 阅读
1 评论
0 点赞
2022-02-09
Python中os.mkdir()与os.makedirs()的区别及用法
os.makedir(path)和os.makedirs(path)今天工作中将hadoop文件同步到服务器磁盘,由于文件类别目录较多,迁移文件时需要判断是否存在这里有两个方法os.mkdir(path)和os.makedirs(path)首先说os.mkdir(path),他的功能是一级一级的创建目录,前提是前面的目录已存在,如果不存在会报异常,比较麻烦,但是存在即有他的道理,当你的目录是根据文件名动态创建的时候,你会发现他虽然繁琐但是很有保障,不会因为你的一时手抖,创建而创建了双层或者多层错误路径,import os os.mkdir('d:\hello') # 正常 os.mkdir('d:\hello\hi') # 正常 # 如果d:\hello目录不存在 # 则os.mkdir('d:\hello\hi')执行失败然后是os.makedirs(path),单从写法上就能猜出他的区别,他可以一次创建多级目录,哪怕中间目录不存在也能正常的(替你)创建,想想都可怕,万一你中间目录写错一个单词.........import os os.makedirs('d:\hello') # 正常 os.makedirs('d:\hello\hi') # 正常 # 如果d:\hello目录不存在 # 则os.makedirs('d:\hello\hi') # 仍然正常如果最后的目录存在执行这个函数的话是会报错,这时我们就需要加上判断语句if not os.path.exists("File_Path"): # 目录不存在,进行创建操作 os.makedirs("File_Path") # 使用os.makedirs()方法创建多层目录 print("目录新建成功:" + File_Path) else: print("目录已存在!!!")各有优缺点,根据自己需要选择使用
2022年02月09日
82 阅读
4 评论
0 点赞
2022-02-09
BeatifulSoup爬取图片案例
在这个案例中我们可以选择下载类型,下载数量 爬取的网站:http://bizhi360.com/{lamp/}代码如下```pythonimport requests from bs4 import BeautifulSoup import time import os url = "http://bizhi360.com/" kind_list = ['desk', 'fengjing', 'meinv', 'weimei', 'dongman', 'dongtai', 'feizhuliu', 'chuangyi', 'keai', 'katong', 'kuanping', '3d', 'youxi', 'dongwu', 'qiche', 'yueli',] kind_clist =["壁纸图片大全","风景","美女","唯美","动漫","动态","非主流","创意","可爱","卡通", "宽屏","3d","游戏","动物","汽车","月历"] print(kind_clist) print(kind_list) inp = input("请输入你要的类型(全部直接回车):") begin = int(input("请输入开始下载页面(每页24张)")) end = int(input("请输入结束下载页面(每页24张)")) if inp in kind_list: kind_list = [] kind_list.append(inp) num = 0 for k in kind_list: num = 0 kind = k #创建类别目录 if not os.path.exists("images\\"+kind): os.makedirs("images\\"+kind) print("创建该目录成功:"+"images\\"+kind) for h in range(begin, end+1): if h == 1: resp = requests.get(url+kind) else: resp = requests.get(url + kind+f"/list_{h}.html") resp.encoding = 'UTF-8' #把源代码交给bs4 main_page = BeautifulSoup(resp.text, "html.parser") #查找数据 #find(标签,属性值=值) #find_all(标签,属性值=值) #find(标签,属性值=值 【或者】attrs = { "属性值":"值",....}) #attrs = { "属性值":"值",....} pic_list = main_page.find("div", class_="pic-list")# _ 是用来区分python函数#获取,打开每个照片的地址 pic_a = pic_list.find_all("a")for n in pic_a: href = n.get("href") #获取每一个图片的子页面链接 child_resp = requests.get(url+href) child_resp.encoding = "UTF-8" child_page = BeautifulSoup(child_resp.text, "html.parser") pic_img_list = child_page.find("figure") if pic_img_list == None: continue else: pic_img = pic_img_list.find('img') pic_src = pic_img.get("src") #下载图片 pic_resp = requests.get(pic_src) pic_name = pic_src.split("/")[-1] #创建图片名 with open("images/"+kind+"/"+pic_name, "wb") as f: f.write(pic_resp.content) #pic_resp.content这里拿的是字节 num += 1 print(f"已下载{num}张",end="-") time.sleep(1) child_resp.close() print(" ") print(f"类型:{kind}下载完成,共下载{num}") resp.close()```
2022年02月09日
58 阅读
0 评论
0 点赞
1
2