Day 17 常用模块part1

常用模块part1

time 模块

import time

时间戳(timestamp)

表示从1970年1月1日0点开始计时的秒数,类型是浮点型

time_stamp=time.time()

格式化时间(format string)

格式化时间表示的是普通的字符串格式的时间

format_time = time.strftime("%Y-%m-%d %X") #Y年 m月 d天 X时分秒也可以用%h-%m-%s替代

结构化时间(struct time)

struct_time元祖共有九个元素,分别为(年,月,日,时,分,秒,第几周,第几天,夏令时)
本地时区localtime的结构化时间

#北京时间localtime的结构化时间
print(local_struct_time=time.localtime())
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=16, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)

#格林威治时区gmtime的结构化时间
print(gm_struct_time=time.gmtime())
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=8, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)
不同格式时间的转换
                strptime->                 mktime->

格式化时间(FormatTime)<---------------->结构化时间(StructTime)<-------------->时间戳(Timestmap)
strftime<- localtime/gmtime

#结构化时间
now_time = time.localtime()

#把结构化时间转换成时间戳格式
time_stmp=time.mktime(now_time)

#把结构化时间转换成格式化时间
format_time=time.strftime("%Y-%m-%d %X",now_time)

#把格式化时间转换成结构化时间
local_time=time.strptime(fromat_time,"%Y-%m-%d %X")

程序暂停

time.sleep(1)

datetime模块

datetime模块一般用于时间的加减

#获取当前时间
now=datetime.datetime.now()

#调整时间
datetime.datetime.now()+datetime.timedelta(3) #当前时间加三天
datetime.datetiem.now()+datetime.timedelta(hours=3) #当前时间加三天

#调整时间默认是按照天调整,减三天用减号或加上负的天数,可以指定关键字实参按照hours,minutes,seconds调整时分秒,但是不能按照年,月调整

#时间替换
now_time=datetime.datetime.now()
now_time.replace(需要替换的参数)
#replace方法可以替换年,月,日,时,分,秒

random模块

random模块一般用于生成随机数

import random
#大于0且小于1之间的小数
random.random()

#大于等于1且小于等于3的整数
random.randint(1,3)

#大于等于1且小于3的整数
random.randrange(1.3)

#大于1小于3的小数
random.uniform(1,3)

#列表中的一个元素
random.choice(list)

#列表中的n个元素
random.sample(list,n)

#列表打乱顺序
random.shuffle(list)

os模块

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口,多用于文件处理

#创建文件夹
os.mkdir(filename)

#删除空文件夹,递归往上删除空文件夹
os.removedirs(path/filename)

#删除一个空文件夹
os.rmdir(path/filename)

#列出文件夹内所有文件名和隐藏文件名
print(os.listdir(path/filename))

#删除文件
os.remove(filename)

#重命名文件
os.rename(filename,new_filename)

#打印环境变量
print(os.environ)

#执行文件添加环境变量(牢记)
print(os.path.dirname(filename))
sys.path.append(filename)

#判断文件是否存在
print(os.path.exists(filename))

#拼接文件路径,因为不同系统的路径拼接符不一样
os.path.join(dirname,filename)

#计算文件大小(牢记)
print( os.path.getsize(filename))

#打印文件夹下所有文件夹和文件
print(os.walk(dirname).__next__())

sys模块

sys模块负责程序与python解释器的交互,提供了一些列的函数和变量,用于操控python的运行环境

import sys
#牢记.命令行参数list,第一个元素是程序本身路径
sys.argv

#获取python解释器版本
sys.hexversion

#获取当前文件导入模块的路径
sys.path

#print本质
sys.stdout.write(content)

#input本质
sys.stdin.read(n)#n表示输入字符限制

json和pickle模块

序列化

把对象从内存中变成可存储或传输的过程称之为序列化
序列化的优点:

  1. 持久保持状态
  2. 跨平台数据交互

json

json序列化和反序列化支持跨平台,但是只能传输字典或列表
json.dumps和json.loads是在内存中互相转化
序列化:json.dump
反序列化:json.load

pickle

pickle的序列化和反序列化只支持python本身,但是可以存储所有的数据.pickle是以二进制的形式保存文件
序列化:pickle.dump(因为是使用二进制进行存储的,所以文件的默认打开方式必须是wb
反序列化:pickle.load(因为是使用二进制进行存储的,所以文件的默认打开方式必须是rb

posted @ 2019-06-10 19:43  萨萌萌  阅读(117)  评论(0)    收藏  举报