![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
没文化取名很难
这个作者很懒,什么都没留下…
展开
-
python常用时间的获取
当前当前时间def current_time(): return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))当前小时def current_hour(): return datetime.now().strftime('%Y-%m-%d %H:00:00')当前日def current_day(): return datetime.now().strftime('%Y-%m原创 2021-04-13 15:59:43 · 94 阅读 · 0 评论 -
python中文字符判断
判断字符串为全中文def is_all_chinese(s):"""检验是否全是中文字符""" for _char in s: if not '\u4e00' <= _char <= '\u9fa5': return False return True判断字符串是否包含中文def is_contains_chinese(s):"""检验是否含有中文字符""" for _char in s: if ..转载 2021-03-22 14:50:02 · 1554 阅读 · 0 评论 -
从线程锁到redis分布式锁
本文将利用减库存这一常见业务的递进实现,来介绍为何需要分布式锁,以及基于redis的分布式锁是如何一步一步完善的。首先,现做一下设定:假定我们将商品A(product_id=‘A’)的库存保存在redis中,并对外提供减库存接口。(限制redis中的库存不能执行原子减操作)将商品A的初始库存设置为200原始版本from flask import Flaskfrom flask_redis import FlaskRedisapp = Flask(__name__)app.config[原创 2021-03-20 16:23:00 · 326 阅读 · 1 评论 -
python中实现定时任务的一种简单方法
此方法利用了子线程和回调实现了定时任务,代码如下:import timeimport threadingdef task(): print(time.time())def cron(func, interval_time=10, *args, **kwargs): threading.Thread(target=func, args=args, kwargs=kwargs).start() time.sleep(interval_time) cron(func原创 2021-03-19 10:47:09 · 98 阅读 · 0 评论 -
python中两种方式实现“模块补丁”的方式
python中sleep的单位是秒,而在java中sleep的单位是毫秒,现在我们自定义sleep函数,实现毫秒单位的等待。########################################### my_time.py模块##########################################import timedef sleep(n): time.sleep(n/1000)########################################原创 2021-03-17 20:36:10 · 221 阅读 · 0 评论 -
python time模块下的clock、perf_counter、process_time函数
time.perf_counter(),返回性能计数器的值,包括睡眠期间(即cpu空闲)经过的时间(可用于计算程序运行时长,cpu级别,比time.time()精度更高)time.process_time(),返回当前进程的系统和用户CPU时间总和的值,不包括睡眠期间(即cpu空闲)经过的时间(可用于计算程序cpu使用时长)time.clock(),在windows下相当于perf_counter,在linux下相当于process_time(python3.3后废弃)...原创 2021-03-12 10:37:04 · 1227 阅读 · 0 评论 -
python多线程与多进程
多线程3种实现方式直接使用Thread类创建继承Thread类使用concurrent.futures模块下的线程池–ThreadPoolExecutor线程通信共享全局变量使用queue模块下的线程队列–Queue、PriorityQueue线程同步Lock、RLockEventCondition–wait、notifySemaphore、BoundedSemaphore–acquire(计数器+1)、release(计数器-1),通过计数器控制线程数量多进程4种实原创 2021-03-02 11:02:19 · 83 阅读 · 0 评论 -
python requests中以“multipart/form-data”方式上传文件的坑
python标准库urllib3在实现multipart/form-data方式上传时,实现了RFC2231,然而某些web服务可能并没有实现RFC2231,而导致服务端无法正常解析python客户端上传的文件。import requestsrep = requests.post('http://127.0.0.1:5000/upload_file', files={'file': ('test.txt', open('test.txt',rb))})rep1 = requests.post('ht原创 2021-01-15 15:26:18 · 1148 阅读 · 1 评论 -
python文件遍历方式
python3.5版本之前:os.listdir、os.walkpython3.5及3.5版本之后:os.listdir、os.walk、os.scandirpython3.5开始新增的os.scandir函数,返回目录下全部文件对象(DirEntry)的迭代器,使得目录的遍历性能大大提高,尤其在单层目录下有大量文件的情况下。...原创 2020-12-08 20:40:09 · 89 阅读 · 0 评论 -
python中的类实例的属性查找过程
getattr、__getattribute__对属性查找的影响没有__getxxx__的一个例子class Book: press = "人民邮电出版社"class LanguageBook(Book): name = "" price = 100 def __init__(self): self.name = "python"book = LanguageBook()print(book.name)print(book.price原创 2020-11-19 20:30:39 · 1452 阅读 · 2 评论 -
Python模块导入之sys.modules
python中的sys.modules是一个全局字典,从python程序启动就加载到了内存,用于保存当前已导入(加载)的所有模块名和模块的绝对路径。在python的模块查找中,sys.modules起到缓存作用,避免了模块的重复加载。程序在导入某个模块时,会首先查找sys.modules中是否包含此模块名,若存在,则只需将模块的名字加入到当前模块的Local名字空间中;若不存在,则需要从sys.path目录中按照模块名称查找模块文件,模块文件可以是py、pyc、pyd,找到后将模块加载到内存,并加入到sy原创 2020-11-19 16:16:54 · 7237 阅读 · 0 评论 -
python2和python3的Unicode区别
python2在编译安装时,可以通过参数 --enable-unicode=ucs2 或 --enable-unicode=ucs4分别用于指定使用2个字节、4个字节表示unicode字符;python3无法进行选择,默认使用ucs4。ucs4的低2个字节表示的字符和ucs2相同查看当前python中表示unicode字符时占用的空间:import sysprint(sys.maxunicode)# 如果值是 65535,则表示使用uns2标准,即:2个字节表示# 如果值是 1114111,则表转载 2020-11-17 19:39:37 · 299 阅读 · 0 评论 -
python中的__new__方法
python中的__new__方法python中__new__方法是对象的构造方法:在元类中,__new__方法控制类(元类的实例,本质是对象)的创建;在普通类中,__new__方法控制类对象的创建;试验代码class MetaClass(type): def __new__(cls, name, bases, *attrs): print('在元类中,__new__方法控制类(元类的实例,本质是对象)的创建') return super().__new原创 2020-11-02 15:58:10 · 317 阅读 · 0 评论