![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
我就叫贝塔
每天进步一点点
展开
-
Python对于文件的操作with open
是python用来打开本地文件的,他会在使用完毕后,自动关闭文件,相对open()省去了写close()的麻烦转载 2022-08-09 10:08:46 · 2759 阅读 · 0 评论 -
Anaconda Navigator卡在loading applications
Anaconda Navigator卡在loading applications原创 2022-07-28 18:06:31 · 171 阅读 · 0 评论 -
Python模块hashlib和hmac
哈希算法(也称摘要算法)的重要性不言而喻,在各种加密算法随处可见它的身影;本文要介绍的两个Python模块就是和哈希有关的内建模块哈希的基本知识概要哈希算法及其特点哈希:也叫散列,摘要输入:也叫预映射哈希算法(Hash Algorithm):简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数;哈希算法是一种压缩映射,也就是说散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值哈希的特点:1)只要输入一样,输出的哈希必然一.转载 2021-11-05 14:16:58 · 271 阅读 · 0 评论 -
python比较版本号大小
def compared_version(ver1, ver2): """ 传入不带英文的版本号,特殊情况:"10.12.2.6.5">"10.12.2.6" :param ver1: 版本号1 :param ver2: 版本号2 :return: ver1< = >ver2返回-1/0/1 """ list1 = str(ver1).split(".") list2 = str(ver2).split(".") pr原创 2021-10-29 14:44:04 · 815 阅读 · 0 评论 -
python工具包之计数器(Counter)
from collections import Counter基类继承自dict, 所有拥有若干的实例方法, 感觉就像是一种新的数据类型, 我想给她起个外号: 字典计数类型传入的参数: >>> c = Counter() # a new, empty counter >>> c = Counter('gallahad') # a new coun原创 2021-07-14 10:37:03 · 830 阅读 · 0 评论 -
乌班图下载并管理多个python版本
https://blog.csdn.net/qq_42138662/article/details/105519753原创 2021-06-18 18:59:07 · 318 阅读 · 0 评论 -
python教程类型网址
python教程: https://docs.python.org/zh-cn/3/tutorial/index.html原创 2021-06-17 12:30:29 · 71 阅读 · 0 评论 -
乌班图下虚拟环境
首先下载虚拟环境sudo pip3 install virtualenv #安装虚拟环境下载完成会出现这种情况:说明下载成功`2. 安装虚拟环境扩展包命令行:pip3 install virtualenvwrapper原创 2021-06-17 12:29:45 · 143 阅读 · 0 评论 -
python定时器APScheduler
官方文档: https://apscheduler.readthedocs.io/en/stable/APScheduler有四种组成部分:触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行。除了他们自己初始配置意外,触发器完全是无状态的。作业存储(jobstore)存储被调度的作业,默认的作业存储是简单地把作业保存在内存中,其他的作业存储是将作业保存在数据库中。一个作业的数据讲在保存在持久化作业存储时被序列化,并在加载时被反序列化。调度器不能分享同原创 2021-05-17 14:58:34 · 159 阅读 · 2 评论 -
python正则匹配密码必须包含数字,字母和特殊符号
粘贴复制,自己测试r1 = '^(?:(?=.*[A-Za-z])(?=.*[!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘![\\]^_`{|}~\s])(?=.*[0-9])).{6,50}$' # 这个有用s = r'weixing_3!@#$%^&*()_+!@#$%^&*()_+'# s = r'123123'# s = r'wwwwwwww'# s = r'!!!!!!!!!!!!!!!'a = re.matc原创 2021-02-24 16:27:56 · 3001 阅读 · 0 评论 -
Django中使用Celery异步及定时任务(附赠代码)
一、简介Celery是由Python开发、简单、灵活、可靠的分布式任务队列,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。Celery侧重于实时操作,但对调度支持也很好,其每天可以处理数以百万计的任务。特点:简单:熟悉celery的工作流程后,配置使用简单高可用:当任务执行失败或执行过程中发生连接中断,celery会自动尝试重新执行任务快速:一个单进程的celery每分钟可处理上百万个任务灵活:几乎celery的各个组件都可以被扩展及自定制应用场景举例:1.web应用原创 2021-01-12 16:09:10 · 2277 阅读 · 8 评论 -
os.environ.get获取的值为None(简单粗暴解决)
在windows中,使用python的os模块时,总是获取到None真的是服了直接到我的电脑,属性,高级系统设置,环境变量,系统环境变量里面添加,注意key值使用大写然后使用os.environ.get()获取环境变量设置完成后注意电脑重启保证环境变量一点问题也没有...原创 2021-01-12 10:47:52 · 2306 阅读 · 0 评论 -
python3.8+redis6.0.6+celery5.0.5+django3.1.4
注意以前版本的Celery需要一个单独的库才能与Django一起使用,但是从3.1开始,情况不再如此。现成的支持Django,因此本文档仅包含集成Celery和Django的基本方法。您将使用与非Django用户相同的API,因此建议您先阅读“使用Celery的第一步”教程,然后再返回本教程。当您有可用的示例时,可以继续阅读“下一步”指南。现在使用django和celery直接使用celery包就可以,几乎不会出现兼容问题网上一大堆TM全是粘贴复制,千篇一律,误人子弟官网教程:https://doc原创 2021-01-09 18:01:23 · 1287 阅读 · 1 评论 -
python升级版本及三方库同步升级版本
安装前,如果需要将当前环境下的三方包同步升级到新版本,请先阅读第二步第一步:关于升级到Python3.8将旧版本安装包下载到本地,点击uninstall 即可删除掉旧版本,完后删除掉安装python的文件夹即可下载新的安装包进行全新安装Python下载地址:https://www.python.org/downloads/第二步:关于库的迁移建议重新安装所有的库,而不是将旧版本的库直接移动到新版本(虽然也可以这么做!)可以使用pip freeze > req.txt 将当前python解原创 2020-12-08 10:16:45 · 2449 阅读 · 1 评论 -
Python正则表达式之密码必须是6到16位数字加字母组合
re.match('^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$', password)原创 2020-10-21 10:14:18 · 1825 阅读 · 1 评论 -
Python操作excel(将多张excel表融合到一张表)
用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式)。但是用xlrd读取excel是不能对其进行操作的;而xlwt生成excel文件是不能在已有的excel文件基础上进行修改的,如需要修改文件就要使用xluntils模块。pyExce原创 2020-10-20 18:13:12 · 1276 阅读 · 1 评论 -
Python将浮点类型的分钟数转换成为时分秒
Python将浮点类型的分钟数转换成为时分秒def transform_time(seconds): # 得到总秒数 seconds = float(seconds)*60 m, s = divmod(seconds, 60) h, m = divmod(m, 60) time = "%d小时%02d分钟%02d秒" % (h, m, s) return time# 此处的19.05单位为分钟print(transform_time(19.05)) #原创 2020-10-20 18:02:28 · 2104 阅读 · 1 评论 -
python有序字典之OrderedDict()(用来解决django模糊查询中不按照所给数据顺序查询解决办法)
from collections import OrderedDict在python中,dict这个数据结构由于hash的特性,是无序的,这在有时候会给我们带来一些麻烦,幸运的是,collections模块为我们提供了OrderdDict,当你要获取一个有序的字典对象时,用它。举例:from collections import Counter, OrderedDictb = OrderedDict()for i in range(5): user = b.setdefault(i,原创 2020-10-20 17:57:26 · 967 阅读 · 0 评论 -
python中break打破循环(提升运算力)
python 中使用break来打破循环为啥说能显著提升运算力呢?当你在循环的过程中已经找到了要找的那个东西,然后就使用break,减少不必要的过多循环原创 2020-10-10 09:58:59 · 420 阅读 · 0 评论 -
django 前端调用后端接口下载excel文件的几种方式
今天有一个导出相应数据为excel表的需求。后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax的安全性问题导致无法下载。下面列觉两种我测试成功的方式:1.window.location.href = ‘接口地址’含义:当前页面打开URL页面.和在浏览器输入接口地址一样,可以下载excel文件.但是缺点是无法执行POST请求2.利用隐藏表单解决(我这里假设加入了JQuery库):var expo原创 2020-09-23 17:58:18 · 1266 阅读 · 0 评论 -
django捕获特定错误给出特定的返回提示
在Django中用try…except…来捕获错误并给出输出但是有些特定的错误如何捕获呢,比如下面这个这时我们就需要先把这个错误导入进来from django.db.utils import IntegrityError然后征程捕获及响应输出即可: try: # 控制数据库事务交易 with transaction.atomic(): cup_list = [] logger.原创 2020-09-17 10:28:08 · 1083 阅读 · 0 评论 -
关于拉流端ts时间切片问题导致的直播黑屏问题
公司直播使用的是阿里的直播服务,但是华为的部分手机出现了黑屏,无法观看直播首先搞懂推拉流推流: 经过obs等推流工具,将要直播的流文件推送到阿里的直播服务器上拉流: 遍布全国的阿里直播服务器将流下发给正在观看的用户问题分析推流这一块选择配置稍微低一点点即可,问题应该不在这里那最有可能出问题的就是阿里直播服务器拉流这块了有可能是拉流这块,下发的时候,每次发送的ts切片过快或过慢,导致本分手机无法很好地解析,以至于黑屏现象过快的话会出现黑屏现象,过慢的话出现卡顿现象(这点是后来发现的)阿里原创 2020-09-01 11:30:47 · 987 阅读 · 0 评论 -
django.db.utils.InternalError: (1366, “Incorrect string value“...)解决方案:微信特殊昵称入库
当微信昵称有特殊表情的时候入库就会发生此错误 .看了网上的很多解决办法,都是改表的配置啥的,我没有那样做我使用了一个正则表达式,只获取到昵称的中文,字母和数字,其他一律不取,完美解决代码:import renicheng = re.findall('[\u4e00-\u9fa5a-zA-Z0-9]+',name,re.S) #只要字符串中的中文,字母,数字name = "".join(nicheng)...原创 2020-08-31 10:02:52 · 188 阅读 · 0 评论 -
Python文件读写、StringIO和BytesIO
1 IO的含义在计算机中,IO是Input/Output的简写,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。比如你访问百度首页,浏览器就需要通过网络IO获取网页。浏览器先会发送请求给百度服务器,告诉它想要的html网址,这个动作是往外发数据,叫Output。接着百度服务器把网页的内容发送过来,这个动作是从外面接收数据,叫Input。所以,通常,程序完成IO操作会有Input和Output两个数据流。转载 2020-08-27 18:40:13 · 399 阅读 · 0 评论 -
python qrcode生成彩色二维码
git 地址:https://github.com/lincolnloop/python-qrcodedef demo(): img = qrcode.make("你今年要发财啊!!!") # 改变颜色 img = img.convert("RGBA") datas = img.getdata() newData = [] for item in datas: if item[0] == 0 and item[1] == 0 and item[2] == 0: newData.app转载 2020-08-27 17:38:46 · 1276 阅读 · 0 评论 -
pip安装使用清华园加速
pip临时镜像临时使用:可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent,这样就会从清华这边的镜像去安装gevent库。原创 2020-08-03 16:21:42 · 1789 阅读 · 0 评论 -
两个网页应用使用同一个公众号
注意:公众号和三方登陆使用的并不是一个授权,相互之间不干扰,最多两个独立的域名可以同时指向一个公众号,只需要将公众号的app_id和app_secret都为这两个网页应用配置上即可,但是在公众号配置里面限制了只能为两个独立的域名配置为啥呢?看图:这样设置的话,就可以实现两个网页应用同时使用同一个公众号...原创 2020-07-23 14:16:11 · 948 阅读 · 0 评论 -
Django之中间键
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', # 'django.contrib.sessions.middleware.SessionMiddleware', # 会话管理的中间键 'django.middleware.common.CommonMiddleware', # 'django.middleware.c原创 2020-07-17 15:17:03 · 126 阅读 · 0 评论 -
生成唯一的用户名字
通过调用get_unique_username函数,得到唯一的用户名def generate_username(): ''' 生成username :return: ''' code_list = [] for i in range(10): # 0-9数字 code_list.append(str(i)) for i in range(65, 91): # 对应从“A”到“Z”的ASCII码 code_list.原创 2020-07-17 12:29:38 · 1011 阅读 · 2 评论 -
Django模板中提示消息messages的设置
导入模块:from django.contrib import messages在view视图中使用:# 测试django 模板中messages消息提示class Test_message(View):'''当有请求中带name参数时,返回ok.不带参数,渲染index.html页面,并将错误信息渲染展示''' def get(self,request): name = request.GET.get('name',None) if not nam原创 2020-07-17 12:09:45 · 777 阅读 · 0 评论 -
Django之获取对应请求的协议,域名和端口
当有一个请求来到Django时,想要获取到他的协议及域名host = '{scheme}://{host}'.format( scheme=request.scheme, host=request.get_host()比如:https://www.baidu.com/s?ie=UTF-8&wd=csdn得到结果:https://www.baidu.com...原创 2020-07-13 10:48:28 · 1821 阅读 · 0 评论 -
Django之ORM的乐观锁,悲观锁和事务
自知则知之转载 2020-07-09 17:48:39 · 429 阅读 · 0 评论 -
引导微信用户关注公众号(详细步骤加代码)
实现效果:当用户进入公众号h5页面,弹窗提示,是否要关注公众号流程1.用户在微信公众号端进入h5页面时,前端从后端数据库获取到用户关注状态.2.如果用户未关注,弹窗提示,是否关注公众号,不关注则取消弹窗,关注的话跳转到微信关注页面3.一天内未关注用户只会接收到一次弹窗提示4.更新用户的关注状态入库一,用户在微信公众号端进入h5页面时,前端从后端数据库获取到用户关注状态.微信用户是否关注公众号,需要咱们去问微信服务器要数据微信官方文档获取用户基本信息(包括UnionID机制和用户是原创 2020-07-09 17:15:40 · 15802 阅读 · 2 评论 -
微信JSAPI支付签名算法(附通用代码)
签名算法签名生成的通用步骤如下:第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。特别注意以下重要规则:◆ 参数名ASCII码从小到大排序(字典序);◆ 如果参数的值为空不参与签名;◆ 参数名区分大小写;◆ 验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。◆ 微信接口原创 2020-07-08 10:04:56 · 3023 阅读 · 0 评论 -
微信JSAPI支付结果通知(代码详解)
支付结果通知官方文档## 应用场景支付完成后,微信会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。注意:1、同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。2、后台通知交互时,如果微信收到商户的应答不符合规范或超时,微信会判定本次通知失败,重新发送通知,直到成功为止(在通知一直不成功的情况下,微信总共会发起多次通知,通知频率为15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/原创 2020-07-07 18:44:17 · 2112 阅读 · 0 评论 -
python之字典类型数据两种取值利弊
第一种取值方法:adict = {'name': '张三', 'age': 18, 'sex': 'man', 'aihao': 'woman'}# 第一种取值方法name = adict['name']# 当取得值存在时print(name) # 张三# 当取的值不存在时# heigh = adict['heigh']# print(heigh) # 报错: KeyError: 'heigh'第二种取值方法:name = adict.get原创 2020-07-07 18:03:56 · 299 阅读 · 0 评论 -
Django操作xml数据
Python解析XML字符串(将XML转换成为dict类型)import xml.saximport xml.sax.handlerclass XMLHandler(xml.sax.handler.ContentHandler): def __init__(self): self.buffer = "" self.mapping = {} def startElement(self, name, attributes): self.原创 2020-07-06 18:22:47 · 1494 阅读 · 0 评论 -
raise_for_status()方法
raise_for_status()方法理解Response类非常重要,Response这样的一个对象返回了所有的网页内容,那么它也提供了一个方法,叫raise_for_status(),这个方法是专门与异常打交道的方法,该方法有这样一个有趣的功能,它能够判断返回的Response类型状态是不是200。如果是200,他将表示返回的内容是正确的,如果不是200,他就会产生一个HttpError的异常。这个代码中我们用r.raise_for_status()方法,它就可以有效的判断网络连接的状态。如果网连原创 2020-07-06 18:05:54 · 2953 阅读 · 0 评论 -
python语法:for-else
了解for 和 else 语法只要for循环完毕,else就会跑一遍。循环被break中段,则不会走else当for循环能够顺利循环完毕,则最后输出else,并且else能够打印最后一次的输出for i in range(1, 5): print(i)else: print(i, '我是else') # 可以打印 当for 循环被break时,就不会走到else了for i in range(1, 5): if i > 2: print(i)原创 2020-07-05 17:15:31 · 223 阅读 · 0 评论 -
python脚本向Mysql插入一亿条测试数据
当我想要测试mysql的诸多索引时,需要用到大量的数据,重复的。不重复的,int类型的,varchar类型的,时间类型的等等,咋办呢?当你看到这篇博文的时候,恭喜你来对地方啦。咱们废话少说,直接上代码建表首先在mysql的example库上创建表useruse example;create TABLE `user` ( `id` int(11) NOT NULL, `last_name` varchar(45) DEFAULT NULL, `first_name` varchar(.原创 2020-07-05 17:13:19 · 929 阅读 · 0 评论