python (小)模块简介

时间:2022-10-26 22:15:06

Python汇总篇

six: Python2和3的兼容库

Six 提供了一些简单的工具用来封装 Python 2 和 Python 3 之间的差异性
Six provides simple utilities for wrapping over differences between Python 2 and Python 3.
The name, “six”, comes from the fact that 2*3 equals 6. Why not addition? Multiplication is more powerful, and, anyway, “five” has already been snatched away.
参考:http://www.itpub.net/thread-1709185-1-1.html

uuid: Python使用UUID库生成唯一ID

UUID是128位的全局唯一标识符,通常由32字节的字符串表示。可以保证时间和空间的唯一性。它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。
公司:uuid.uuid4().hex 由伪随机数得到,有一定的重复概率,该概率可以计算出来。 .hex是16进制

延展:

Python使用UUID库生成唯一ID
python中hex,oct,chr,ord函数讲解
UUID 和 GUID 的区别

random

random.sample(list, 8)从list中随机取8个

json

json_str = json.dumps(obj) obj = json.loads(json_str)
json.dump(obj, f) obj = json.load(f) obj
dumps的参数separators=(‘,’, ‘:’)紧凑型jison,boqing在搞universilink时只能解析紧凑的

request

base64

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法;Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息;
优点:速度快,ascii字符,肉眼不可理解
缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合

>>> import base64
>>> s = '我是字符串'
>>> a = base64.b64encode(s)
>>> print a
ztLKx9fWt/u0rg==
>>> print base64.b64decode(a)
我是字符串

Python:字符串

http://blog.csdn.net/daduryi/article/details/71158303 后期搬出去
如何去掉字符串中不需要的字符strip(‘-+*’)/lstrip()/rstrip()/切片分段+/replace/sub/translate

'/'.join([QiniuUtil.CDN_URL, path])         #sub
s.split(sep=None, maxsplit=-1) #以sep为参数对字符串切割(默认为空格),返回list #注意 ''.split(',')返回['']
s.strip('xx') # 去除s前后的xx,默认为空格 lstrip('xx')、rstrip('xx'),当要去除的为’_medal’时,会出问题,是下划线的锅

future

from future import absolute_import

这样局部导入就不会覆盖全局导入,本地导入采用相对引用

from .celery import Celery      # 是导入当前路径下celery的Celery
from celery import Celery # 是导入第三方的全局的celery模块下的Celery

datetime

now = datetime.datetime.now() 返回datetime.datetime(2017, 8, 13, 23, 13, 34, 92353)
now.strftime(‘%Y-%m-%d %H:%M:%S’) 日期格式化
timespan = now - past 返回datetime.timedelta(0, 127, 866440) span跨度 past过去
timespan.seconds timespan.total_seconds
python datetime处理时间

time

time.time()返回时间戳1502637091.418477 单位为秒