首页 > 代码库 > python常用模块

python常用模块

time

# 当前时间戳
time.time()
# 和标准时间(格林威治时间)的偏差
time.altzone
# 返回时间格式 Sat Feb 18 15:11:10 2017
time.asctime()
# 返回时间格式 Sat Feb 18 15:11:10 2017
time.ctime()
# 返回本地时间对象
time.localtime()
    t = time.localtime()
    print(t.tm_year,t.tm_mon)
    t = time.localtime(time.time()-(60*60*24))
# 返回UTC时间(格林威治时间)对象
time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S") 2017-02-18 15:24:25
# 显示十天前的时间
struct_time = time.localtime(time.time() - 86400)
time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
s_time = time.strptime("2017-02-17", "%Y-%d-%m")
time.mktime(s_time)
              time.strptime()            time.mktime()
"2016/05/22" ----------------> 时间对象 --------------> 时间戳

datetime

# 返回结果 2017-18 15:24:25
datetime.datetime.now()
# 时间戳直接转成日期格式
datetime.datetime.fromtimestamp(time.time())
datetime.datetime.now() - datetime.timedelta(hours=3,minutes=20)
# 时间替换
datetime.datetime.now().replace(year=2016,month=3)

random

print(random.randint(1,10))
print(random.randrange(1,10)) 不包含10,可以加步长
print(random.sample([1,2,3,4,5],2)) 随机取两个元素列表
--------------------------------------------------------------------
随机验证码
第一种
import random
checkcode=‘‘
for i in range(4):
    current = random.randrange(0,4)
    if current != i:
        temp = chr(random.randint(65,90))
    else:
        temp = random.randint(0,9)
    checkcode += str(temp)
print(checkcode)
第二种
import random,string
source = string.digits + string.ascii_lowercase
print("".join(random.sample(source,6)))

os

import platform
print(platform.system()) 显示当前操作系统
os.popen(pwd).read() 可以拿到命令的执行结果
os.system 只返回命令执行结果的状态

sys

sys.argv
sys.path

pickle & json

account = {
    id: 62253454873,
    credit: 15000,
    balance: 8000,
    expire_date:2020-05-21,
    password: fdsjkl
}
f = open(account.db,w)
f.write(str(account))
f.close()
------------------------------
f = open(account.db,r)
account = eval(f.readlines())
序列化  内存 --> 字符串
反序列化 字符串 --> 内存
pickle.dumps、pickle.dump 序列化
pickle.loads、pickle.load 反序列化
json 只支持str, int, float, set, dict, list, tuple数据类型

logging

日志格式

%(name)s

Logger的名字

%(levelno)s

数字形式的日志级别

%(levelname)s

文本形式的日志级别

%(pathname)s

调用日志输出函数的模块的完整路径名,可能没有

%(filename)s

调用日志输出函数的模块的文件名

%(module)s

调用日志输出函数的模块名

%(funcName)s

调用日志输出函数的函数名

%(lineno)d

调用日志输出函数的语句所在的代码行

%(created)f

当前时间,用UNIX标准的表示时间的浮 点数表示

%(relativeCreated)d

输出日志信息时的,自Logger创建以 来的毫秒数

%(asctime)s

字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d

线程ID。可能没有

%(threadName)s

线程名。可能没有

%(process)d

进程ID。可能没有

%(message)s

用户输出的消息

python常用模块