
Python
文章平均质量分 62
SZ_ChenBolin
少年回头望,笑我还不快跟上!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python中json与yaml文件相互转换
python中json与yaml文件相互转换原创 2022-10-10 20:11:57 · 2911 阅读 · 0 评论 -
Celery 的使用教程
介绍 celery1.简介Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。2.引入使用背景在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务。比如:例子 a: 在 Web 开发中,对新用户的注册,我们通常会给他发一封激活邮件,而发邮件是个 IO 阻塞式任务,如果直接把它放到应用当中,就需要等邮件发出去之后才能进行下一步操作,此时用户只能等待再等待。更好的方式是在业原创 2021-07-03 16:00:23 · 1267 阅读 · 2 评论 -
Python 优雅的读取大内存文件
背景:使用 python 读取一个相对较大内存的文件,比如电脑运行内存只有1G,但是读取的文件大小为 2G,这个时候怎么处理呢?有人说直接用 open函数不就好了吗?但是如果你直接使用的话,会把文件一次性读取存在内存中,这个时候就会出现 OOM(内存溢出)即MemoryError,那么我们应该怎么处理呢?我们先来看看python读取文件后,获取文件内容的几种方法;方法作用f.read()读取文件中所有内容f.readline()读取第一行的内容f.readlines原创 2021-03-04 00:21:15 · 4558 阅读 · 1 评论 -
Python线程中的互斥锁
互斥锁引入背景:# -*- coding=utf-8 -*-# Author: BoLin Chen# @Date : 2021-02-22import threading, timenum = 0def th1(temp): global num for i in range(temp): num += 1 print(f"----------in the th1 num is : {num}----------")def th2(temp): global num原创 2021-02-22 16:58:23 · 332 阅读 · 2 评论 -
Python中可迭代对象和迭代器
什么叫可迭代对象?不专业:可以直接作用于 for 循环的对象,统称为可迭代对象:Iterable稍微专业:通过 Python 内置方法 isinstance(obj, Iterable) 进行判断, 若返回为True则是,反之则不是;专业解释:该对象含有 __iter__ 方法则称为可迭代对象;from collections import Iterable, Iteratorclass Classmate(object): def __init__(self): self.na原创 2021-02-03 21:04:53 · 660 阅读 · 5 评论 -
python 读取和设置环境变量
获取环境变量值>>> import os>>> os.environ.keys()python2 输出结果如下:['LESS', 'VERSIONER_PYTHON_PREFER_32_BIT', 'TERM_PROGRAM_VERSION', 'LOGNAME', 'USER', 'PATH', 'HOME', 'ZSH', 'TERM_PROGRAM', 'LANG', 'TERM', 'Apple_PubSub_Socket_Render', 'COLOR原创 2020-06-22 19:33:24 · 3813 阅读 · 0 评论 -
from __future__ import unicode_literals
当你在查看一些python源码或者其他人的代码的时候,经常会在.py 的文件里看到from __future__ import unicode_literals在 Python 中有些库的接口要求参数必须是 str 类型字符串,有些接口要求参数必须是 unicode 类型字符串。对于 str 类型的字符串,调用 len() 和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个字符使用不同...原创 2020-05-06 15:56:59 · 509 阅读 · 0 评论 -
Python给数字前面补0的方法
背景:做自动化测试的时候,需要填写用户手机号码,但是手机号码又不能重复,所以需要随机生成手机号码;思路比如想用133XXXXXXXX系列的手机号码,则可以用字符串133拼接(000000001-99999999),但是在Python中随机数1前面是不会加上8个0的,这个时候解决这个问题就可以解决手机号码的问题了;Python中真的字符串有个 zfill 方法zfill 给字符串换...原创 2020-03-04 10:30:49 · 11886 阅读 · 0 评论 -
Python的__getattr__和__getattribute__
getattr__getattr__ 在当前主流的Python版本中都可用,重载__getattr__方法对类及其实例未定义的属性有效。也就属性是说,如果访问的属性存在,就不会调用__getattr__方法。这个属性的存在,包括类属性和实例属性。Python官方文档的定:Called when an attribute lookup has not found the attribute ...原创 2020-01-19 17:15:19 · 909 阅读 · 0 评论 -
Celery 快速入门(二)
Redis 本地安装并启动Redis 安装此处不做过多讲述;请参考:Redis 安装传送门启动本地 Redis 服务redis-server /usr/local/etc/redis.conf可以查看 Redis 动态日志# 切换到安装 Redis 时日志配置文件路径 cd /Users/wawa/Logs ls -l# -rw-r--r-- 1 wawa staff...翻译 2020-01-17 16:16:44 · 222 阅读 · 0 评论 -
Celery 快速入门(一)
Celery 快速入门前言:在一个应用服务中,对于时效性要求没那么高的业务场景,我们没必要等到所有任务执行完才返回结果,例如用户注册场景中,保存了用户账号密码之后,就可以立即返回,后续的账号激活邮件,可以用一种异步的形式去处理,这种异步操作可以用队列服务来实现。否则,如果等到邮件发送成功可能几秒过去了。Celery 是什么?Celery 是 Python 语言实现的分布式队列服务,除了支持即...原创 2020-01-17 11:05:17 · 278 阅读 · 0 评论 -
字典的合并操作
字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。字典类型与序列类型的区别:存取和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始按数值顺序索引);映射类型可以用其他对象类型作键(如...原创 2019-12-31 17:18:46 · 1455 阅读 · 0 评论 -
Python数据转json常见问题
问题一:含有中文转换时,自动转为Unicode编码import jsona = {"name": "科比"}b = json.dumps(a)print(b)# 结果如下{"name": "\u79d1\u6bd4"}解决方法:bb = json.dumps(aa, ensure_ascii=False)print(bb)# 结果如下:{"name": "科比", ...原创 2019-10-11 21:48:58 · 406 阅读 · 0 评论 -
Mac 成功安装JPype1
Mac 成功安装JPype1 (最简单步骤) 笔者电脑系统情况:python2.7(系统自带)python3.6 (笔者安装的,主要使用)电脑系统 :10.14 Mojava 安装步骤:安装 conda 命令python3 -m pip install conda使用 conda 安装 gcc 命令安装命令:python3 -m conda instal...原创 2019-09-12 18:24:56 · 1576 阅读 · 0 评论 -
Python3将API返回的bytes解码为str
前言在Python借助requests库调用一些API时返回的数据与Postman上调用返回的不一致requests示例:这里返回的数据是一段bytes类型的字符串,无法做断言处理,所以在做断言前必须要先要将这段字符串先解码Postman工具示例:bytes解码bytes.decode(encoding='utf-8')# 这里bytes为需要解码的bytes字符串,也就是直接返...原创 2019-07-18 09:58:52 · 2147 阅读 · 0 评论 -
Python搭建http服务器共享文件
借助Python搭建服务器使用场景:在办公室或者在家使用电脑个数>=2时,想从一台电脑上把文件拷贝过去,但是由于有U盘或者懒得去弄这些的时候,就可以考虑Python在本地搭建服务器,局域网之内的电脑可以进行直接访问下载即可。Python3命令python -m http.server 8000 #备注:这里的端口号可以自己随便定义,只要不被占用即可Python2命令pyth...原创 2019-01-28 18:37:51 · 3308 阅读 · 0 评论 -
Python常用内置函数
匿名函数 lambdaa = lamada x,y: x*ya(5,10)# 输出结果:50zip()当zip函数参数中给定的长度不一致时,遵循木桶效应#zip()函数 # 参数为多个可迭代对象,每次从每个可迭代对象中取一个值组成一个元组,直到可迭代对象中的值取完,生成的zip对象包含了一系列元组# demo_zip = zip((1,2,3),('a','b','c')...原创 2019-02-15 21:01:57 · 306 阅读 · 0 评论 -
json与pickle库
eval()函数# 简单的数据类型与字符串的互转#---转换类型demo_dic = {"name":"kobe", "num": 24}s = str(demo_dic) print(type(s)) # >>> <class 'str'>demo2 = eval(s)pr原创 2019-02-16 22:25:39 · 169 阅读 · 0 评论 -
Python对文件读写操作
文件读操作1、一次性读取所有 “r”f = open("yesterday", "r", encoding="utf-8") data = f.read()print(data)备注:读取文件,光标会移动到读取的对应位置2、一行一行的读取 readline()读取该文件的前五行# 方法1f = open("yesterday", "r", encoding=...原创 2019-02-13 14:14:05 · 786 阅读 · 0 评论 -
Python之装饰器
装饰器 = 嵌套函数 + 高阶函数递归函数# 递归函数# 经典递归函数错误写法def calc(n): print(n) return calc(n+1)calc(0)递归函数特性必须有一个明确的结束条件每次进入更深一层递归时,问题规模相比上次递归都应有所减少递归效率不高,递归层次过多导致栈溢出# 需求用一个数除以2,大于0就继续除def calc(n):...原创 2019-02-14 00:37:32 · 131 阅读 · 0 评论 -
Python列表排序与反转问题
排序函数API作用是否改变原list有无返回值list.sort()队列反向排序是无sorted(list)队列反向排序否有a = ['x', '123', 'abc', 'z', 'xyz']print(a.sort())print(a)b = ['x', '123', 'abc', 'z', 'xyz']print(sorted(b...原创 2019-03-21 00:14:35 · 644 阅读 · 0 评论 -
Python中时间戳格式化转换
常用时间格式1、时间戳# 获取当前时间戳>>> time.time()1555348600.280111 时间戳转默认时间字符串格式>>> a = time.time()>>> time.ctime(a)'Tue Apr 16 01:56:41 2019' 时间戳转时间元组格式>>> a = ...原创 2019-04-16 02:09:04 · 3434 阅读 · 0 评论 -
Python 实现斐波那契数列
使用 for 循环写斐波那契数列def fib_for(num): a, b = 0, 1 lst = [] for i in range(num): lst.append(a) a, b = b, a+b print(lst)fib_for(10)使用 while 循环写斐波那契数列def fib_while(num): n, a, b = 0, 0, ...原创 2019-05-30 10:40:30 · 818 阅读 · 0 评论 -
Python操作主流数据库
连接MySQL安装pymsqlpip install pysqml2.快速连接import pymysql# 第一步:连接数据库con = pymysql.connect( host='127.0.0.1' # 数据库地址 user='test01' # 登录数据库的账号 ...原创 2019-06-20 00:42:39 · 251 阅读 · 0 评论 -
Python中的生成器与迭代器
列表生成式a = [i*2 for i in range(10)]b = (i*2 for i in range(10)) #注意与上面的对比生成器 generator1、只记录当前位置 ,有__next__()方法。2、只有在调用时才会生成相应的数据,随着光标移动到对应位置,只能一步一步往后移动3、只有一个__next__()方法# 斐波那契数列def fib(num):...原创 2019-06-04 19:11:42 · 153 阅读 · 0 评论 -
Python获取当前用户的主目录路径
Python获取当前用户的主目录路径, 示例代码如下:import osprint (os.environ['HOME'])print (os.path.expandvars('$HOME'))print (os.path.expanduser('~'))当前用户为自己:C:\Users\ChenBolin打印结果如下:C:\Users\ChenBolinC:\Users\C...翻译 2019-06-22 19:02:52 · 18055 阅读 · 2 评论 -
pip安装库更改下载源
1.临时使用国内源 如果只是暂时使用国内源,那么pip install -i的-i参数来指定国内源,格式如下# 以清华源为例 xxx为所要安装的包pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx2.配置国内源为默认使用 Linux(mac)下:建立~/.pip/pip.conf文件添加如下命令[gl...原创 2019-01-25 20:36:23 · 2523 阅读 · 0 评论