自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不写代码的博客

高级菜鸟努力飞

  • 博客(112)
  • 资源 (2)
  • 收藏
  • 关注

原创 FastApi项目搭建

使用FastApi框架完成一个用户的创建、登录,虽然只有两个接口,其中包括了MySQL的配置和连接、orm工具和迁移工具的使用、中间件的使用等。

2022-10-19 16:01:28 4349 1

原创 Python处理excel合并单元格

读取可以使用xlrd,也可以使用openpyxl,但是openpyxl读取不了.xls格式的Excel,需要转成xlsx,有点麻烦,所以使用了xlrd。打开文件xlrd也遇到了一点问题,文件如果是xls文件直接打开,在提取合并单元格的时候会拿不到数据,需要加上 formatting_info=True,formatting_info=True的时候打开.xlsx文件会报错NotImple...

2019-03-08 18:53:17 35567 4

原创 MacOS安装JDK8

Mac更新、安装jdk教程

2023-12-28 19:57:18 791

原创 Django、Python版本升级问题大汇总

Django3.0升级到4.1,Python3.8升级到3.11.6问题大汇总。

2023-12-26 15:53:16 1425

原创 Linux安装Python3.12.0

我们这里按照最新的Python3.12.0为示例。

2023-12-26 15:39:25 1395

原创 Django查询每月的最后一条数据

在这个示例中,我们将演示如何使用Django查询Book数据表中姓名为"张三"的每月的最后一条数据。

2023-12-26 15:35:29 982

原创 Django 一个 model 注册多个 admin 表

在实际的使用场景中可能会出现某个数据表数据过多,但是Django 的 admin 后台对于大批量数据的查询速度一言难尽,比如我有一个用户表,但是大部分时间都只需要查询被禁用的用户,而直接进行查询所有用户实在是太慢了,所以我把用户表在 admin 后台展现为了两个表,一个展示所有的用户,一个只展示被禁用的用户。其实使用也能直接在一个表中根据用户的状态分组,但是当数据量和分组条件越来越多的时候查询速度会变的越来越慢。

2023-06-09 18:05:44 1357

原创 pandas、xlrd、openpyxl读取Excel性能对比

注: pyexcel和pyxlsb在读取Excel文件时,使用了比较特殊的方法,即使用了内存映射文件(Memory Mapped Files)的技术,可以将文件映射到内存中,然后通过内存直接访问文件内容,从而避免了大量的IO操作,提高了读取速度。同时,这种方法还可以避免一些内存限制,可以处理较大的文件。相比之下,其他库(如pandas、xlrd、openpyxl等)使用的是常规的读取文件方式,需要将整个文件读入内存中,再进行解析处理,因此可能会受到内存限制的影响,同时IO操作也会比较频繁,速度相对较慢。

2023-04-28 16:24:10 1750 1

原创 使用pandas、xlrd、openpyxl读取Excel

可以看出使用Pandas库的方法最为简单,而使用xlrd和openpyxl库则需要手动处理每一行的数据。需要注意的是,以上示例代码仅适用于Excel文件中只有一个工作表的情况。如果Excel文件中有多个工作表,需要指定要读取的工作表。如果需要处理大量的Excel文件,建议使用Pandas库,因为它能够自动处理大部分数据类型,并且具有优秀的性能。如果只需要处理少量的Excel文件,可以考虑使用xlrd或openpyxl库。

2023-04-28 15:14:00 931 1

原创 Python列表自定义顺序排序

Python的自定义排序函数是非常有用的。它可以根据自己的需要对列表进行排序,而不是按照默认的升序或降序,可以更好地管理和处理数据。函数按升序对元素进行排序,但是有时我们需要对列表进行自定义排序。在这种情况下,我们可以使用。函数是一个非常有用的函数,它可以对列表中的元素进行排序。参数并传递一个自定义排序函数来实现自定义排序。在上面的示例代码中,我们定义了一个名为。参数表示指定的排序顺序。的函数来实现自定义排序。参数表示需要排序的值,而。

2023-04-24 17:50:21 728

原创 python解析url

其中,变量url存储了需要解析参数的URL,使用urlparse()函数将URL解析为6个组成部分,其中query部分即为参数部分。然后使用parse_qs()函数将参数字符串转换为字典形式,变量params存储了解析后的参数。其中,变量url存储了需要解码的URL,变量decoded_url存储了解码后的URL。unquote()函数会自动将URL中的转义字符解码为对应的字符。可以使用Python的内置模块urllib.parse中的parse_qs()函数解析URL中的参数。

2023-04-19 11:00:24 1682 1

原创 Python对列表保持原有顺序去重

【代码】Python对列表保持原有顺序去重。

2023-02-16 10:54:18 1344

原创 Python使用Redis计算经纬度距离

Python使用Redis进行经纬度距离计算、指定范围查找地点。

2022-09-02 18:20:47 584

原创 LeetCode第118题:杨辉三角

题目给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]代码class Solution: def generate(self, numRows: int) -> List[List[int]]:

2022-02-21 12:10:31 7919

原创 LeetCode第136题:只出现一次的数字

题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4代码class Solution: def singleNumber(self, nums: List[int]) -> int: # 方法一, 最慢解法 # for i in nums: # if nums.

2022-02-11 11:27:37 7412

原创 Python删除字符串中的符号

删除字符串中的空格可以使用字符串的lstrip、rstrip和strip方法。其中,lstrip方法用于删除字符串开头的空格,rstrip方法用于删除字符串结尾的空格,strip方法用于删除字符串开头和结尾的空格。删除字符串中的所有符号,只保留数字和英文字母可以使用正则表达式的sub方法。删除字符串中指定的符号可以使用字符串的replace方法。对应的unicode编码范围,可以根据需要进行使用。

2022-02-09 11:16:40 8838

原创 pytest基础教程

安装pip install pytest验证版本pytest --version使用def f(a): return a + 1def tests_f(): # 断言 assert func(1) == 2执行执行shell命令pytestdjango 使用安装pip install pytest-django使用在Django项目的根目录,也就是和manage.py同一级,创建配置文件pytest.ini。[pytest]DJANGO_S

2022-01-20 17:23:47 843

原创 python发送邮件

python发邮件方法import osfrom email.header import make_headerfrom django.core.mail import EmailMultiAlternativesdef send_mail(subject, text_content, from_email, to, file_path, html_message=None, cc=None): """ 发送带附件邮件函数 :param subject: 邮件主题 .

2022-01-19 11:19:42 569

原创 Python sorted()排序

dict 排序from operator import itemgetterdicts = {"key1": "1", "key2": "2", "key3": "3"}sorted_dict = sorted(phone_book.items(), key=itemgetter(1))print(dict(sorted_dict))# [('key1', '1'), ('key2', '2'), ('key3', '3')]多维 list 排序from operator import i.

2022-01-10 16:03:25 408

原创 Django自定义Admin后台报错提示和数据校验

Django的admin后台是个好东西,接业务需求,需要开发一个单独的修改用户名的页面,没有前端支持只能考虑使用admin了。数据模型from django.db import models class Order(models.Model): """ 订单表 """ serial = CharField(max_length=64, verbose_name="编号", help_text="编号")class User(models.Model): """ 用户表 ""

2021-12-17 21:09:53 2515

原创 Django跟某几个字段去重MySQL

当我们需要查询一个数据表中的数据时,有时候会出现重复的情况。为了去除这些重复的数据,我们可以使用 SQL 的DISTINCT关键字来实现去重操作。在 Django 中,官方文档提供了distinct方法用于去重,但是只支持 PostgreSQL 数据库,具体操作可以看。那么对于使用 MySQL 数据库的用户,应该怎么办呢?在这篇博客中,我将为大家介绍一些实现 MySQL 去重查询的方法。Bookbook_name表示书籍名称,category表示书籍类型,price表示书籍价格。

2021-10-19 17:45:02 1971

原创 python3.5项目升级3.8问题汇总

python3.5项目升级3.8问题汇总问题1:uwsgi问题1解决方案问题2:celery问题2解决方案问题1:uwsgi虚拟环境创建完成,但是在pip安装的时候遇到了第一个问题,uwsgi安装报错。Looking in indexes: http://mirrors.aliyun.com/pypi/simple/Collecting uWSGI Using cached http://mirrors.aliyun.com/pypi/packages/24/fd/93851e4a0767191

2021-10-15 16:56:58 1526 2

原创 Django—— F、Q查询

已有表from django.db.models import Model, F, Qclass Goods(Model): name = CharField(max_length=32, verbose_name='产品名称') surplus = IntegerField(verbose_name='余量') sales = IntegerField(verbose_name="销量") total = IntegerField(verbose_name="总量")

2021-09-02 18:20:30 528

原创 pyinstaller打包exe

安装pip install pyinstaller使用创建一个hello.py文件进入和hello.py同一级的目录,执行:pyinstaller -F hello.py查看文件目录,会发现多出来两个文件夹:build和dist打开dist文件夹,点击hello.exe即可执行注意事项打包成功后执行exe文件闪退问题执行太快:可能写的测试文件只是一个print,所以执行完直接退出了,加上time.sleep()即可看出效果代码崩溃:这个有多种可能,可以在终端进入dist文件

2021-06-17 23:09:11 959

原创 mac+pycharm+QT5配置

安装pyqt5pip install pyqt5安装pyqt5-toolspip install pyqt5-tools安装Qt方法1:直接下载对应版本安装 清华大学开源软件镜像站方法2:使用Homebrew,安装完成后注意日志里的文件路径,后面要用到brew install qtpycharm配置QtDesignerpycharm–settings->Tools->External Tools添加PyUIC固定参数:-m PyQt5..

2021-06-16 16:48:40 1564 4

原创 Python使用jsonpath_ng

是 Python 中一款解析和操作 JSON 数据的工具,它可以通过 JSONPath 语法来对 JSON 数据进行定位和提取,其用法类似于 XPath 语法对 XML 数据进行定位。

2021-06-10 14:22:26 3623 4

原创 tortoise-orm的迁移工具aerich

安装aerichpip install aerich创建models.py, 构建数据模型from tortoise import Model, fieldsclass User(Model): """ 用户基础信息 """ name = fields.CharField(max_length=24, description="姓名") id_no = fields.CharField(max_length=24, description="身份证号")创建.

2021-05-25 17:02:15 1268

原创 Python3使用RSA分段加密解密

import Cryptofrom Crypto.Hash import MD5from Crypto.PublicKey import RSA# 计算签名from Crypto.Signature import PKCS1_v1_5# 计算加密解密from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5from base64 import b64decode, b64encodeclass RsaUtil(object):

2021-04-15 13:46:21 1228

原创 Python合并pdf方法

1. 调用get_filename函数获取需要合并的所有PDF文件路径。 2. 通过调用PdfFileReader函数读取每个PDF文件,并获取每个PDF文件的总页数。 3. 通过循环将每个PDF文件的每一页添加到输出对象output中。 4. 通过调用PdfFileWriter函数将合并后的所有PDF文件保存到目标文件。

2021-03-29 14:31:52 1185 2

原创 pytest mock的使用

简单使用return_value返回固定的数据方法一,使用装饰器。import mockdef add(a, b): return a + b# 使用mock的return_value参数改变add返回的数据@mock.patch('add', return_value=10)def test_add(): print(add(1, 2)) # 10方法二,使用mock.path方法。import mockdef test_add(): with mock.

2020-12-30 22:58:52 1284

原创 mac MySQL升级后mysqlclient安装失败

今天无意间把MySQL升级到了8.0.22_1,然后pip安装mysqlclient发现会报以下错误: /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -Dversion_info=(1,3,13,'final',0) -D__version__=1..

2020-12-29 17:38:59 309 1

原创 Django查看celery任务结果

异步任务执行的时候对于用户来说总是会出现再次尝试,第二次查看结果的时候如果能查到任务结果如何那就可以减少好多不必要的查询和重试。Django中可以使用django_celery_results,但是django_celery_results查不到celery_taskmeta表中的数据,只能查询安装了该库以后的任务。所以推荐使用以下方法,简单易懂,可以直接查celery_taskmeta表的数据。from celery.result import AsyncResult# task_id 为开启异步任务

2020-12-28 15:16:53 3196 1

原创 MySQL约束总结

MySQL约束总结1. 主键约束1.1. 主键约束的概念1.2.主键约束的使用1.2.1. 设置单字段主键1.2.2. 设置联合主键1.2.3. 在修改表时添加主键约束1.2.4. 删除主键约束1.3. 主键的自增长1.3.1. 指定自增字段初始值1.3.2. 指定自增字段初始值2. 外键约束2.1. 外键约束的概念2.2.外键约束的使用2.2.1. 创建表时设置外键约束2.2.2. 删除外键约束2.2.3. 修改表时设置外键约束3. 唯一约束3.1. 唯一约束的概念3.2.唯一约束的使用3.2.1. 创建

2020-10-19 16:36:20 186 1

原创 MySQL数据类型详解

按照官方的文档(8.0) 分析,MySQL的数据类型大概可以分为五类:数值数据类型、日期和时间数据类型、字符串数据类型、空间数据类型、JSON数据类型目录1、数值数据类型1.1、整数1.2、定点数1.3、浮点数1.4、位类型2、日期和时间数据类型3、字符串类型3.1、char和varchar3.2、binary和varbinary3.3、text和blob3.3、enum3.4、set4、json数据类型5、空间数据类型1、数值数据类型1.1、整数MySQL支持SQL表中整数integer(int)

2020-08-17 14:30:22 183

转载 Django ORM性能优化之count和len方法的选择

接下来我将从源码层面分情况和应用分析我们在计算queryset数据集时是用orm的count函数计算长度还是用len函数计算数据集长度。首先,我们知道ORM查询queryset数据集是惰性查询的,只有使用到数据集时,ORM才会真正去执行查询语句,然后ORM会把查询到的数据集缓存到内存中,下次我们使用数据集时是从缓存中取值的。这就是ORM的惰性查询机制和缓存机制,还不清楚可以找相应的博客了解其概念,首先理解这两点我们便能更好地理解接下来的场景及应用。场景一:我们写了ORM查询语句,然后querys

2020-08-11 14:14:18 1111

原创 MySQL常用show命令

1. show databases;列出数据库管理系统中的所有数据库列表+--------------------+| Database |+--------------------+| information_schema || test || mysql || performance_schema |+--------------------+2. show tables;显示指定数据库的所有表,使用

2020-08-07 17:15:33 337

原创 MySQL新增用户

添加用户mysql> use mysql;mysql> insert into user (host, user, authentication_string, select_priv, insert_priv, update_priv) values('localhost', 'guest', md5('password123'), 'Y', 'Y', 'Y');得到报错信息:ERROR 1364 (HY000): Field 'ssl_cipher' doesn

2020-08-07 17:05:19 275

原创 Python列表统计重复元素

Python列表查找重复元素的几种方法

2020-07-24 14:52:16 4461

原创 python3数据MD5加密

对字符串加密:import hashlib, base64s = "0123456789"h = hashlib.md5()h.update(s.encode('utf-8'))md5_value = base64.b64encode(h.digest()).decode('utf-8')print(md5_value) # 'eB5eJF1ptWaXm4bijSPyxw=='对文件加密path = os.path.join(file_path, file_name)file = o.

2020-07-21 10:18:00 293

原创 Ubuntu18.04更改apt-get的下载源

前些天华为云活动,256抢了一个3年的服务器。今天抽时间配置一下,发现使用apt-get安装东西的时候总是会失败,提示需要apt-get update,但是执行后又会报错“W: Some index files failed to download. They have been ignored, or old ones used instead.”,想了想应该是源的问题,于是查了一下Ubuntu更改下载源的方法,记录一下。首先系统自带的apt-get源配置文件在这里 /etc/apt/sources

2020-06-18 12:08:45 2073

Python兼容Java bouncycastle包的国密sm2加解密方法

Python兼容Java bouncycastle包的国密sm2加解密方法

2022-11-25

计算机英语专用单词+翻译.txt

英语不好只有加油背单词了,这些单词总是要用到的,一点一点背吧,先给自己定个小目标,一天15个,再给自己定个小目标,先挣一个亿。

2019-02-19

MongoDB权威指南(第2版)

MongoDB权威指南(第2版),新版本对上一版进行了全面的扩充,可作为数据库开发人员的工作指南,也可以作为系统管理人员的进阶指定,还可供项目中其他成员了解MongoDB使用.

2019-02-13

空空如也

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

TA关注的人

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