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()
posted @ 2019-06-10 17:03  海森t  阅读(52)  评论(0)    收藏  举报