
python
文章平均质量分 66
hpulfc
你好啊 多评论呐~
展开
-
Python3.7 contextvars 上下文环境变量详解(代码演示)
contextvars是 python 3.7 新加的内容,看到asyncio模块用到,记录一下用法名称解释ContextVar: 上下文环境变量Context: 上下文对象Token: 改变上下文变量产生的tokencopy_context: 复制当前的上下文环境对象常用函数及功能copy_context复制当前上下文环境,得到一个Content类型的上下文环境对象。from contextvars import copy_context, Contextassert isin原创 2021-01-30 15:52:15 · 2514 阅读 · 0 评论 -
python序列化辅助函数
万能的python序列化辅助函数问题问题: 普通情况下使用json 进行序列化的时候,遇到不同的类的对象就往往很难实现序列化,尤其是在各种数据结构进行嵌套的时候那么就想到了通用的解决方式。解决方式每个类都定制化实现 __dict__ 或者不实现也可以。就可以使用下面的辅助函数来进行序列化:# python 2class Utils(object): @classmethod def remove_unserializable(cls, items):原创 2020-07-08 19:37:19 · 373 阅读 · 0 评论 -
线程同步中的一些锁、条件、信号量的解析
python threading 中的 Lock, RLock, Condition, Semaphore, Event不是目录python threading 中的 Lock, RLock, Condition, Semaphore, EventLockRLockConditionsamephoreevent这些内容主要是用来控制在并发过程中,线程的同步行为的。Locklock 是在控制同步中 常见且基础的对象。通过这个对象可以控制共享资源的串行访问。需要注意: 锁的获取、释放, 防止死锁!f原创 2020-06-18 16:39:44 · 279 阅读 · 0 评论 -
python requests的 SSLError
SSL Error就是以https 进行访问网站的时候 验证失败。一般原因是 requests 里面的一些验证的部分需要升级, 升级一下reqeusts 就行了。或者安装 额外的 安全套件:pip install -U requests[security]原创 2020-06-17 15:47:58 · 817 阅读 · 0 评论 -
python 常用函数整理(持续更新)
python 常用函数整理(持续更新)1.数字前置补0 ,格式化# 方式一str(123).zfile(5) # 00123# 方式二"%05d" % 123 # 001232. 向下取整,向上取整import mathmath.floor(2.5) # 2.0math.ceil(2.4) # 3.03. 将字符序列写入文件fileobj.writ...原创 2018-08-23 16:14:26 · 387 阅读 · 0 评论 -
中英文分句
中英文分句这里主要是使用了两个包:pyltp 和 nltk安装过程省略,使用方式如下:import nltk # 英文分句from pyltp import SentenceSplitter # 中文分句s = "Since I was very small, I was very shy in the public place, so I always avoided g...原创 2018-09-04 17:33:06 · 1578 阅读 · 0 评论 -
python 导入模块(使用程序导入模块,并简单对错误处理)
在python 中如果需要导入一些模块,可以使用import xxx 或者使用from xx import xx 。只有这一种方式吗,当然不是,还有一种就是使用代码将一些模块导入。使用到的是 ` importlib ` 这个模块。一般用法:import importlibimportlib.import_module("module_name")如果是要在某些项目中使用,可以...原创 2018-10-26 11:25:03 · 1543 阅读 · 0 评论 -
gevent
https://blog.youkuaiyun.com/freeking101/article/details/53097420转载 2018-11-10 17:41:09 · 782 阅读 · 0 评论 -
python cook it
None + "123"TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'避免方式:不确定的情况下,字符创相加,可以 str 一下 c = [1]c[2]I...原创 2018-11-14 16:06:09 · 222 阅读 · 0 评论 -
python random
python randompython 一些随机数生成生成生成0-1之间的随机数import randomrandom.random()生成范围内的随机数整数import randomrandom.randint(start=0, end=10)生成范围内的随机数浮点数import randomrandom.uniform(start=0, end=10)选择随机选...原创 2018-12-05 10:22:22 · 2622 阅读 · 0 评论 -
阿里面试题 八阵图问题 思路详解 (python 实现)/ 阿里实习生笔试2018编程题之八阵图
题目:八卦阵相传是诸葛亮创设的一种战斗队形和兵力部署,由八种阵势组成。为了方便,采用矩阵描述一个八卦阵,它由八个单阵组成,,每个单阵由多个兵力区域组成一种阵势,如图所示,其中数字为一个兵力区域的士兵个数。假设单阵与单阵之间兵力区域不会相邻,且单阵中兵力区域至少存在一个兵力相邻区域(注:相邻是指再其↖、正上、↗、正右、↘、正下、↙、正左八个方位与其相邻),请用最快的速度计算出八个单阵中的兵力(士...原创 2018-08-08 14:51:39 · 1043 阅读 · 0 评论 -
/tmp/pip-install-ve4RnJ/h5py/h5py/api_compat.h:27:18: fatal error: hdf5.h: No such file or directory
在安装h5py的时候报错:/tmp/pip-install-ve4RnJ/h5py/h5py/api_compat.h:27:18: fatal error: hdf5.h: No such file or directory分析:在安装这个库的时候,编译过程中,缺少hdf5.h 这个文件。解决方案:首先下载hdf5的共享库下载地址:https://download.csd...原创 2018-07-20 10:54:56 · 1625 阅读 · 0 评论 -
python magic 函数使用教程
python magic 函数使用教程持续更新zip: 将参数元素打包成元组for item in zip([1,2,3], [4,5,6]): print(item)# (1, 4)# (2, 5)# (3, 6)list: 将一个序列转换为列表这里主要是对他的转换功能来说。s = "hello 小明, where are you from!"pr...原创 2018-07-19 11:38:44 · 2555 阅读 · 3 评论 -
python collections 的使用教程
python collections 的使用持续更新Counter:用来进行计数的类。from collections import Counterc = Counter(["hello", "hi", "hello"]) # 参数是可迭代的对象# Counter({'hello': 2, 'hi': 1})# c["hello"] >> 2# c["n...原创 2018-07-19 11:20:30 · 689 阅读 · 0 评论 -
python 单元测试
python 单元测试unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那你用unittest来应该是很轻松的,它们的工作方式都差不多。unittest核心工作原理unittest中最核心的四个概念是:test case, test suite, test runner, test fixture。下面我们分别来解释这四个概念的意思,先来看一张unitt...转载 2018-07-18 17:50:33 · 325 阅读 · 0 评论 -
python 安装指定版本的包
python 安装指定版本的包pip install numpy==1.4.12原创 2018-07-17 16:42:48 · 9217 阅读 · 0 评论 -
python PyEnchant(拼写检查)
本文主要是记录了一下pyenchant包的安装以及简单使用。这个包主要功能是对英语单词进行拼写检查,并可以对拼写错误的单词推荐一些可能的正确单词。1 installing PyEnchant使用pip直接安装即可,指令如下:pip install pyenchant使用上述指令,如果安装没有错误就是安装成功了,一般情况下(mac、ubuntu等系统)是没有任何问题的。但是在亚马逊的EC2机器上,...转载 2018-07-11 11:05:42 · 13088 阅读 · 6 评论 -
pip 安装库时磁盘空间不足怎么办?如何从指定位置安装相应的包
pip 安装库是磁盘空间不足怎么办 磁盘空间不足,可以考虑释放空间,或增大空间,释放空间指的是默认情况下,将主文件夹下面的没用的文件删除一些,同时可以将缓存文件清空一些,linux的是~/.cache/pip 下。增大空间是可以添加硬盘或者是虚拟盘。对于虚拟主机来说可以挂载其他硬盘,然后在安装python的包时,直接指定包的安装位置即可,例如:pip install --target=/ta...原创 2018-07-09 15:57:31 · 5276 阅读 · 2 评论 -
python 常用库整理(数据库、uuid、正则)
基本的数据库python 的数据库api 定义的简洁易使用一般是:获取连接获取游标对象使用, 查询,执行sql提交事务最后关闭连接import sqlite3conn = sqlite3.connect("test.db")cursor = conn.cursor()cursor.execute("create table user (id INTEGER PRIMAR...原创 2018-12-19 18:03:26 · 886 阅读 · 0 评论 -
python 常用库整理(yml、ujson、hashlib、base64、cgi、markdown篇)
配置文件:ymlimport yamlwith open("test.yml", 'r') as f: obj = yaml.load(f.read()) print obj使用 ujson: 更加快import ujson as jsonprint json.dumps({"a":1})加密:hashlibmd5摘要:import ha原创 2018-12-14 11:56:51 · 812 阅读 · 2 评论 -
关于mongodb中的GridFS的使用
关于mongodb中的GridFS的基本使用基本的说明mongo 作为一个非关系型数据库,使用非常方便,在项目中也经常的使用。这里主要是说一些他的 网格文件系统 的使用。在我们想要存储一些文件的时候,可以存放得到文件系统里面,然后使用的时候通过程序读取。当然还可以使用数据库进行存放一些小的文件,这里使用mongo的GridFS。GridFS 里面存放的主要是有两个集合,一个集合存放数据...原创 2019-06-29 11:11:59 · 1548 阅读 · 0 评论 -
http 请求测试,检验参数是否传入正确
http 请求测试,检验参数是否传入正确首先是一个测试的网址 http://www.httpbin.org可以测试各种http方法,返回数据格式等。这里主要是测试了tornado 中AsyncHttpClient的使用对于一些请求,主要是将数据放在form里进行发送,并且设置http请求类型为 application/x-www-form-urlencoded但是呢,有些时候可能因为参数传...原创 2019-06-29 11:10:03 · 2501 阅读 · 0 评论 -
python 数据描述符的使用(附带装饰器)
属性查找优先级类属性数据描述符 (同时实现__get__和__set__)实例属性非数据描述符 (只实现__get__)__getattr__通过代理实现属性懒加载这里是使用装饰器的方式实现的懒加载。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值关键代码:value = self.method(instance)setattr(instance...原创 2019-05-29 16:56:22 · 390 阅读 · 0 评论 -
python 中判断一个对象是否为函数
python 中判断一个对象是否为函数两种方式:使用 hasattr ,通过验证有没有__call__函数进行判断def test(): print "hello"print hasattr(test, "__call__")通过使用 callable进行判断print callable(test)...原创 2019-05-28 14:30:10 · 3059 阅读 · 2 评论 -
python 装饰器做缓存
使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是 python 查找变量的顺序是什么?答案就是LEGB原则:也就是`Local -> Enclosed -> Global -> Built-in`也就是先在局部作用域内(例如函数内)进行查找...原创 2019-05-30 17:44:13 · 1406 阅读 · 0 评论 -
python的重入锁(简单说明)
python 重入锁重入锁就是可以多次获取的锁.(条件是在同一线程下) 对应的是threading.RLock。普通的锁是threading.Lock,这个锁在同一线程下 未释放的情况下再次获取会造成死锁,所以就需要RLock如下:普通情况下 会死锁import threadinglock = threading.Lock()with lock: print "first g...原创 2019-05-22 12:06:09 · 742 阅读 · 0 评论 -
基本进制转换
基本进制转换(记录)10 进制 到 2 进制使用bin()函数print bin(12)10 进制 到 8 进制使用oct()函数print oct(12)10 进制 到 16 进制使用hex()函数print hex(12)x 进制 到 10 进制使用int()函数x = 3print int(12, x)# 输出 5字符与10进制转换使用ord()、ch...原创 2019-05-22 11:03:13 · 411 阅读 · 0 评论 -
openpyxl 的使用记录
这里主要是把之前用到的一些 python 操作excel的一些基本用法记录一下python 中的操作excel的库openpyxlopenpyxl中 Workbook 是工作簿的类, 其中sheet是一张工作表加载excelfrom openpyxl import load_workbookload_workbook("path_to_wxcel.xlsx")获取所有sheet...原创 2019-04-17 17:12:13 · 670 阅读 · 0 评论 -
python代码模拟sqlalchemy懒加载注入属性
sqlalchemy 代码模拟懒加载注入属性偶然再次看到有人提到了orm 的一些关联属性的懒加载问题,这里就按照自己的想法实现了一下class Base(object): passclass User(Base): # .... 很多列 @property def address(self): if not hasattr(sel...原创 2019-03-01 17:26:50 · 417 阅读 · 0 评论 -
python 的一些有趣的东西(偏函数、闭包、字符、类的函数化(__call__))
下面是一些python的用法和最佳实践python 偏函数对于有很多参数的函数,调用起来很麻烦例如:def test(arg1, arg2, arg3): print arg1, arg2, arg3test(1,2,3)如果前几个参数在某些环境下不经常变,可以使用偏函数重新构造以简化参数列表import functoolsdef test(arg1, arg2, arg3...原创 2019-01-21 18:50:38 · 332 阅读 · 0 评论 -
python 常用库整理(traceback、frozenset、webservice)
输出异常/格式化异常tracebackimport tracebacktry: 1/0except Exception, e: print traceback.format_exc(e)固定的集合frozensets = frozenset(["a", "b", "c"])print [ item for item in dir(s) if not str(it...原创 2019-01-21 18:47:20 · 363 阅读 · 0 评论 -
sqlalchemy 常用操作
几种常见sqlalchemy查询:# 简单查询 print(session.query(User).all())print(session.query(User.name, User.fullname).all()) print(session.query(User, User.name).all()) # 带条件查询 print(session.q...转载 2019-01-25 11:27:49 · 289 阅读 · 0 评论 -
python in 操作耗时测试和性能分析
python in 操作耗时测试和性能分析测试代码:# coding=utf8__author__ = 'lfc'import timeitimport randomseq_len = 4 # 10 ** 4x = random.sample([i for i in range(10 ** 6)], 10 ** seq_len)y = set(x)z = sorted(x)...原创 2018-05-16 10:49:10 · 3474 阅读 · 0 评论 -
python 创建后台守护进程
考虑如下场景:你编写了一个python服务程序,并且在命令行下启动,而你的命令行会话又被终端所控制,python服务成了终端程序的一个子进程。因此如果你关闭了终端,这个命令行程序也会随之关闭。要使你的python服务不受终端影响而常驻系统,就需要将它变成守护进程。守护进程就是Daemon程序,是一种在系统后台执行的程序,它独立于控制终端并且执行一些周期任务或触发事件,通常被命名为"d"字母结尾,如...转载 2018-05-08 14:18:53 · 9908 阅读 · 1 评论 -
python any
any(iterable)版本:该函数适用于2.5以上版本,兼容python3版本。说明:如果iterable的任何元素不为0、''、False,all(iterable)返回True。如果iterable为空,返回False。函数等价于:注意比较该函数与all()函数的区别,any是任意,而all是全部。建议比较学习两者的区别与联系。可转载 2017-04-17 10:15:24 · 401 阅读 · 0 评论 -
python exec
英文文档:exec(object[, globals[, locals]])This function supports dynamic execution of Python code. object must be either a string or a code object. If it is a string, the string is parsed as a suite o转载 2017-04-17 10:04:58 · 708 阅读 · 0 评论 -
ipython notebook
关于如何实现本地浏览器上进行服务器上编程参照了这篇文章:Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问.另外,亲测发现ipython运行速度比使用pycharm快(这是为什么呢?)17-04-13 补充1. 最近看到 tqdm 这个模块,用于显示程序的进度条,感觉真心爽,用法也是非常简单,如下图所示:这样我们就能够转载 2017-04-17 09:58:29 · 956 阅读 · 0 评论 -
简明MetaClass
MetaClassclass ListMetaclass(type): """ 元类,MetaClass 用于创建类的类,是除了type外的第二种创建类的方式 """ def __new__(mcs, name, base, attrs): attrs["test"] = lambda self, value: self.append(value)原创 2017-03-24 19:18:13 · 383 阅读 · 1 评论 -
python with..as.. __call__ __enter__ __exit__
with .. as ..python 中的with as # coding=utf8__author__ = 'Administrator'import inspectclass Test(object): """ 测试__call__, __exit__, __enter__ 作用: 1.简化代码 2.释放资源 3易于阅原创 2017-03-24 19:14:27 · 783 阅读 · 0 评论 -
sqlachemy 初探
sqlAchemysqlAchemy简介安装使用创建数据库表创建对应类初始化数据库配置相关使用sessionmaker 探讨简介 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。类似于Hibernate 安装略使用创建数据库表 (此处使用MySql)创建与数据库表对应的类初始化数据库配置相原创 2017-03-23 18:40:17 · 743 阅读 · 0 评论