
值得拥有-Python
文章平均质量分 55
我目前掌握的主要编程语言
蓝小白1024
总有一天你会长大,一个人抵得上千军万马.
展开
-
Python yield 与 yield from 简单介绍
当一个函数带有 yield 的时候,这个函数就叫做生成器。在一个函数中处理 io 操作时,可以先返回一部分,让程序做其它事情,等处理完其它事情,在进行刚才暂停的地方。比如:我要爬取某些网站时,解析页面时代码结构def get_value(num): """生成器""" for i in ["A", "B"]: yield f"{i}{num}"def get_html(): for i in [1, 2, 3]: yield get_valu.原创 2022-04-03 22:37:39 · 2359 阅读 · 0 评论 -
Ubuntu配置workon命令进入切换python虚拟环境
安装virtualenvsudo pip3 install virtualenvsudo pip3 install virtualenvwrapper如果出现上图 执行下面这两条命令: python3 -m pip install --upgrade setuptools python3 -m pip install --upgrade pip然后继续sudo pip3 install virtualenvwrapper可能还会爆红但是我的爆红之后安装成功啦配置workon原创 2021-04-25 12:39:37 · 1276 阅读 · 0 评论 -
使用Python把一堆图片排序后转换成PDF,最终得到一人之下漫画pdf
目的把一些图片转换成PDF使用模块osrePIL# -*- coding: utf-8 -*-# Time: 2021/4/5 14:59import osimport refrom PIL import Imagedef open_file_url(path): # os.listdir 会得到目录下的文件名列表 file_name_list = os.listdir(path) # print(file_name_list) # 得到的原创 2021-04-05 15:51:44 · 1352 阅读 · 2 评论 -
Django HTTPResponse 响应体中返回 openpyxl 生成的文件
Django返回文件流时使用指定文件名http响应头中字符应该按照url百分号编码# Python3from urllib.parse import quote...# 字符串编码问题 str(filename) ---- filename为文件名, 可能需要转换为字符串先response['Content-Disposition'] = 'attachment; filename={0}.xlsx'.format(quote(filename))Django HTTPResponse 响原创 2021-03-15 15:12:44 · 1240 阅读 · 2 评论 -
数据可视化Matplotlib使用5-改变坐标轴的默认显示方式
import matplotlib.pyplot as plty = range(0,14,2) x = [-3,-2,-1,0,1,2,3]# # 获得当前图表的图像# ax = plt.gca()# # 设置图型的包围线# ax.spines['right'].set_color('none')# ax.spines['top'].set_color('none')# ax.spines['bottom'].set_color('red')# ax.spines['left'].s原创 2021-03-15 15:10:08 · 790 阅读 · 2 评论 -
数据可视化Matplotlib使用4-双Y轴坐标系
绘制双Y轴坐标系首先要清楚双Y轴坐标系与一图多线的区别, 虽然双Y轴坐标系是有两条折线,举个栗子:假如有一个班级的体重和身高数据, 数据里面有姓名、身高、体重, 需求就是把身高和体重分别画出两个折线图, 这时是不是就可以姓名为X轴, 身高和体重各自为一个Y轴, 这不就成了一个双Y轴坐标系啦.准备数据...原创 2021-03-15 15:09:33 · 831 阅读 · 0 评论 -
数据可视化Matplotlib使用3-常见图像绘制
柱状图-bar()标注直方图-hist()饼图-pie()散点图-scatter()原创 2021-03-15 15:08:55 · 595 阅读 · 0 评论 -
安装PyMysql报错 python setup.py egg_info Check the logs for full command output.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.报错信息Looking in indexes: http://pypi.douban.com/simple/Collecting pymysqlDownloading http://pypi.doubanio.com/packages/2b/c4/3c3e7e598b1b490a原创 2021-03-10 17:14:23 · 1764 阅读 · 0 评论 -
Python标准库datetime模块日期和时间数据类型
Datetime常用类date : 以公历形式存储日历日日期(年、月、日)time : 将时间存储为 时、分、秒datetime : 存储日期和时间日期date类型使用# 导入datetime模块import datetime# 创建日期date = datetime.date(2021, 3, 5)print(date)# 获取年print(date.year)# 获取月print(date.month)# 获取日print(date.day)时间 time 类型使用原创 2021-03-06 20:59:26 · 2016 阅读 · 0 评论 -
python中QRcode基本使用并把生成的图片利用某图床转化为链接,RGB与RGBA
QRcodepython-qrcode是个用来生成二维码图片的第三方模块Qrcode网站简单上手import qrcode img = qrcode.make('hello, qrcode') # 二维码的内容,扫描后得到img.save('test.png') # 保存高级用法import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_原创 2021-02-24 14:39:10 · 1118 阅读 · 0 评论 -
pandas数据离散化 get_dummies()
pandas 数据离散化离散化0 准备数据1 分组2 离散化(转化为one-hot编码)import pandas as pd# 原始数据height_list = [165, 174, 160, 180, 159, 163, 192, 184]# 准备数据data = pd.Series(height_list)data0 1651 1742 1603 1804 1595 1636 1927 184dtype原创 2021-02-14 14:08:01 · 281 阅读 · 0 评论 -
Python图像处理-把一个方形图片以圆形图的样式贴到另一张图上面的指定位置
使用 PIL 模块, 在生成个人的海报页面, 或者其他页面, 需要在这张海报上面贴上一个圆形的图片, 就好比圆形的个人头像什么的.两张底图这个是准备转换为圆形的图片head_image.jpg底图(820*512)1608690598-1238475.jpg效果图(成品图)吧head_image.jpg贴到底图的右上角, 并显示为圆形大小150*150实现代码# 导入需要的包from PIL import Image, ImageDraw# 底图base_image =原创 2020-12-23 17:28:38 · 1834 阅读 · 3 评论 -
Python图像处理-使用PIL模块在图片上生成的文字居中显示
主要解决在图片上面写的文字并把文字居中显示PIL 安装pip install pillow初始图片基本使用# 导入需要的包from PIL import Image, ImageDraw使用Image.open(图片路径)读取图片pil_image = Image.open("./timg.jpg")# pil_image 接收住这个图片对象使用size方法可以计算图片的像素# width 为图片的宽, height为图片的高width, height = p.原创 2020-12-16 23:59:29 · 7865 阅读 · 3 评论 -
Python创建临时文件方法tempfile.TemporaryFile()
Python创建临时文件方法tempfile.TemporaryFile()import tempfiletext="我是准备写入临时文件的文本内容,这里可以是图片可以是富文本"# 创建临时文件temp = tempfile.TemporaryFile()temp.write(text.encode("utf-8"))# 读取文件前将文件的指针移动到开始处"""- File.seek(0) - Python文件读取, 0 指针回到文件开头 1当前位置 2文件结尾 """temp原创 2020-12-07 11:35:16 · 2304 阅读 · 1 评论 -
Python中Django处理MySQL事务@transaction.atomic(using=‘default‘, savepoint=True)
Python中Django处理MySQL事务@transaction.atomic(using=‘default’, savepoint=True)from django.db import transaction # 导入事务模块在Django中开启MySQL事务有两种方式, 一种是使用装饰器,还有一种是使用with (相当于上下文管理器)来开启事务装饰器方式在函数视图中# 在函数视图添加一个@transaction.atomic装饰器# 接受一个 using 参数表示所要操作的数据库。如原创 2020-11-17 11:27:50 · 1179 阅读 · 0 评论 -
使用set()方法为对象去重的实现原理__hash__()方法和__eq__()方法
使用set()方法为对象去重的实现原理__hash__()方法和__eq__()方法使用set() 方法根据对象的不同属性进行去重"""使用set()方法为对象去重的实现原理"""# 创建一个类, 用来创建生成对象class Employee(object): def __init__(self, name, age, sex): """ 对象有3个是属性, 同一个名字同一性别的对象为一个对象,根据名字和性别进行去重 :param原创 2020-10-23 23:03:04 · 475 阅读 · 2 评论 -
简述Python中的迭代器和生成器
简述Python中的迭代器和生成器才疏学浅, 欢迎建议迭代器相比于装饰器, 迭代器是一种很抽象的概念,我理解的比较抽象, 感觉都没有太多地方使用过对于一个对象来说,实现__iter__方法的叫做迭代对象,而实现__iter__和__next__ 方法的叫迭代器在进行遍历的时候,循环语句先判断 对象xx是否可以迭代,如果实现__iter__ 就可以使用iter(xx)调用,而__iter__必须要返回一个迭代器才行,也就是一个实现了__iter__和__next__方法的对象迭代器包含有nex原创 2020-10-22 21:13:05 · 545 阅读 · 0 评论 -
unittest + selenium 编写一个简单的自动化测试用例
测试用例 1测试对象: B站 (B站登录) https://passport.bilibili.com/login只简单测试了登录功能,而且还没完善, 没完善的内容是, B站登录需要一个验证码, 我这点没有实现, 所以是选择手动点击图片验证码,下面还有一个GitHub的登录测试用例, GitHub登录时不需要验证码分析b站的登录网页的数据结构输入账号的文本框输入密码的文本框登录的点击按钮先创建一个测试用例文件 text_bilibili.py 文件,在里面编写测试用例"""测试用例原创 2020-10-20 15:13:46 · 3364 阅读 · 4 评论 -
Python自动化测试(unittest)使用BeautifulReport和HTMLTestRunner生成HTML测试报告
HTML测试报告HTML 测试报告就是执行完测试用例后以网页的方式显示执行的结果HTML 生成报告的方式1. BeautifulReport安装pip install BeautifulReport先写测试用例, 基本测试用例介绍看上一篇unittest编写测试用例基本使用看代码, 先创建一个test_unittest.py文件,用来编写测试用例import unittestfrom BeautifulReport import BeautifulReport"""编写测试用例原创 2020-10-19 11:19:18 · 2865 阅读 · 1 评论 -
Python自动化测试Unittest框架基本使用
Unittest 框架首先要知道这个框架是Python自带的, 不需要安装这个框架最重要的4 个核心TestCaseTestSuiteTextTestRunnerFixtureTestCase个人总结一下, 这个就是用测试用例继承的, 直接往下看吧学测试先了解断言把断言概念:让程序代替人为判断测试程序执行结果是否符合预期结果的过程断言分类布尔型断言比较断言复杂断言看完概念再看一下代码吧好了解一点先写一个简单测试用例,import unittest原创 2020-10-18 17:55:27 · 1279 阅读 · 1 评论 -
爬虫使用的各种USER_AGENT
下面是我写的一段代码, 调用这个函数可以随机返回一个请求头USER_AGENT 就是每个浏览器的标识, 下面有手机端, 使用时注意要爬取的页面PC端跟手机端的HTML解析不同import timeimport requestsimport random"""用于返回一个随机的请求头"""USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome原创 2020-10-17 20:07:45 · 1698 阅读 · 0 评论 -
Python十大算法之插入排序Python代码简单实现
Python十大算法之插入排序Python代码简单实现图片上是从已排好序的元素最大坐标开始比较的, 我的代码是从已排好序的元素的最小坐标开始,一个道理的"""插入排序 (个人理解)先假设第一个元素不动,从第二个元素开始,然后拿着第二个元素跟第一个(已经排好序的元素)进行对比,如果大于第一个元素就把这个元素放在第一个元素后面,现在已经排好两个元素了接着在拿第三个元素,跟已经排好序的元素进行对比,如果该元素遇到比它小的元素就放在它的后面, 以此类推"""def sort_list(l原创 2020-10-17 11:33:07 · 1509 阅读 · 2 评论 -
Python装饰器代码简单实现 带参数 不带参数 计算时间
Python装饰器代码简单实现先说一说装饰器的个人理解吧装饰器就是在不改变原函数的情况下,给原函数增加一些额外的功能,装饰器本质就是一个闭包(先说这么多,以后再补充)不接受参数的通用装饰器"""定义一个装饰器,这是一个不接受参数的装饰器"""def decorator(func): # 加 *args, **kwargs 这两个参数为了能够接受参入函数的参数(你不能保证传入的函数有没有参数,以及这个传入的函数有多少个参数) def wrapper(*args, **k原创 2020-10-16 20:22:47 · 2056 阅读 · 0 评论 -
Python十大算法之选择排序Python代码简单实现
选择排序"""选择排序是记录最小值的下标先拿着一个元素进行元素对比,找到最小的元素,把这个最小的元素放到最前面,然后在从剩余的元素中继续寻找最小的元素,然后放在已经排序过的序列末尾"""def sort_list(list_): # 先定义比较的轮数, 一个一个的比较,所以省去最后一次,总轮数为 元素个数减 1 for i in range(len(list_)-1): # 定义一个最小元素的下标,(如果是降序就是最大元素的下标) min_s原创 2020-10-15 09:45:47 · 3025 阅读 · 1 评论 -
Python十大算法之冒泡排序Python代码简单实现
(Python)十大算法之冒泡排序"""冒泡排序核心: 两个两个数进行比较,小的放前边大的放后面(升序排序降序反之)"""# 定义一个函数,实现冒泡排序def sort_the(list_): # 由于需要两个两个的进行元素比较,每次比较都会把最大的一个值放到最后面,最后一轮比较可以省去,所以需要比较的次数为列表元素总数减一 for i in range(len(list_) - 1): # 每次进行一轮比较后,会把最大的元素放到最后,所以每轮进比较原创 2020-10-14 20:26:50 · 3451 阅读 · 5 评论