python 06.10
1.time模块
import time
#时间戳形式
print(time.time())
#格式化时间(自己定义格式)
print(time.strftime('%Y|%m|%d %X'))
print(time.strftime('%Y-%m-%d %H:%M:%S'))
#结构化时间
print(time.localtime()) #以北京时间为准
print(time.gmtime(0)) #打印1970的时间
print(time.gmtime())
#结构化时间转换成格式化时间
struct_time = time.localtime()
print(time.strftime('%Y-%m-%d',struct_time))
#格式化时间转换成结构化时间
format_time = time.strftime('%Y-%m-%d %X')
print(time.strptime('2019-06-10 15:00:00','%Y-%m-%d %X'))
#时间戳转换成格式化时间
stamp_time = time.time()
print(time.localtime(stamp_time))
#睡眠时间
time.sleep(3)
2.datetime模块
import datetime
#获取当前时间
now = datetime.datetime.now()
print(now)
print(now+datetime.timedelta(days=5)) #默认为天,可进行+/-
print(now+datetime.timedelta(hours=5))#无法加年/月
print(now+datetime.timedelta(minutes=65))
print(now+datetime.timedelta(seconds=65))
print(now.replace(year=2012,month=12,day=22,hour=5,minute=13,second=14))
3.random模块
import random
#打印(0,1),不能取到0&1
print(random.random())
#打印[n,m]之间的整数
print(random.randint(1,3))
#打印(n,m)之间的小数
print(random.uniform(1,3))
#打印[n,m)的整数
print(random.randrange(1,3))
#从容器中随机取一个
print(random.choice([10000,1000,500,300,100]))
#从容器中随机选择多个
print(random.sample([1,'a',2,'b'],3))
#打乱容器
lis = [1,2,3,4]
random.shuffle(lis)
print(lis)
4.os模块
import os
#创建文件夹
os.mkdir('aaa')
#删除文件夹,递归往上删除空文件夹
os.removedirs(r'文件路径')
#删除一个空文件夹
os.rmdir(r'文件路径')
#列出文件夹内所有文件名和影藏文件夹
os.listdir(r'文件夹路径')
#删除文件
os.remove(r'文件路径')
#重命名文件名
os.rename(r'文件路径test.py',r'文件路径test.py')
#打印环境变量
os.environ
#在执行文件中添加环境变量
print(os.path.dirname(__file__))
import sys
sys.path.append(r'文件路径')
#判断文件是否存在
print(os.exists(r'文件路径'))
#拼接文件路径
print(os.path.join)
#计算文件大小
print(os.path.getsize(r'文件路径'))
#打印文件夹下所有文件夹和文件
print(os.walk(r'文件路径'))
5.sys模块
import sys
#当使用python file.py参数,接受参数
print(sys.argv)
#获取解释器的版本
print(sys.hexversion)
#获取当前文件导入模块的路径
print(sys.path) #调用sys.stdout
sys.stdout.write('123\n') #c写print
print(sys.stdin.read(10)) #c写input
def print(str,end='\n'):
str = str+end
sys.stdout.write('自定义的print\n')
sys.stdout.write(str)
print('123456')
def input():
print('自定义inpu')
print(sys.studin.read(10))
return
input()
6.json模块
序列化:保存数据(从内存到硬盘的过程叫做序列化,序列化具有规定的格式)
反序列化:把json文件从硬盘中读取出来
json文件中只能写入python中的dict/list/str/int/float/bool/None
import json
dic = {'name':'nick'}
res = json.dumps(dic)
print(res,type(res))
res = json.loads(res)
print(res,type(res))
with open('test.json','w',encoding='utf8')as fw:
json.dump(dic,fw)
with open('test.json','r',encoding='utf8')as fr:
data=json.load(fr)
print(data, type(data))
7.pickle模块
pickle 也是序列化和反序列化,json可以跨平台,只支持dict/list/str/int/float/bool/None
pickle支持python中任意数据类型,所以不能跨平台,pickle模块序列化过程是以二进制形式转换
def func():
print('f1')
import pickle
res = pickle.dump(func)
print(res)
pickle.loads(res)()
#pickle由于传输的是二进制,所以应用b模式
with open(r'文件路径',‘wb’)as fw;
pickle.dump(func,fw)
with open(r'文件路径',‘rb’)as fr:
data = pickle.load(fr)
data()

浙公网安备 33010602011771号