1.模块介绍
2.time & datetime
3.random
4.os
5.sys
6.shutil
7.json & pickle
8.shelve
9.xml处理
10.yaml处理
11.configparser
12.hashlib
13.subprocess
14.logging模块
15.re正则表达式
一. 定义
模块: 用来从逻辑上组织python代码(定义变量,函数,类,逻辑,实现一个功能),本质就是 .py 结尾的python文件。
包:用来从逻辑上组织模块,本质是一个目录(带有一个__init__.py文件)
二. 导入方法
导入模块
import xx,xxx,xxxx #xx.yyy
from xxx import xxx,xx,x
from xxx import * (不提倡)
from xxx import xxx as xx (别名) #xx
导入包
import package_module
from . import test1 #从当前路径导入,__init__的当前路径
三. import本质
导入模块的本质就是把python 文件解释一遍,
区别:
import m #需要用 ‘.' 调用 m.xxx
from m import xxx #直接调用 xxx
导入包的本质:执行该包下的__init__.py文件
os.path.abspath(__file__) #获取文件的绝对路径os.path.diename(os.path.abspath(__file__)) 四. 导入优化 from 。。。 import 。。。五. 模块的分类1. 标准库
1.1 time与datetime
>>> help(time.sleep)
UTC(coordinated universal time,世界协调时)亦即格林尼治天文时间,世界标准时间,在中国为UTC+8.
DST(daylight saving time)即夏令时。夏时令(Daylight Saving Time:DST),又称“日光节约时制”和“夏令时间”,
是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。
在python中通常有这几种方式来表示时间:
1)时间戳;(秒)
timestamp:表示的是从1970年1月1号00:00:00开始按秒计算的偏移量。
>>>timetime()
2)格式化的时间字符串,
3)元组(struct_time)共九个元素。
>>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=43, tm_sec=40, tm_wday=5, tm_yday=244, tm_isdst=0)
Variables:
timezone--UTC与local time的差;
altzone--
daylight--
tzname--
functions:
time()
sleep() :
gmtime():时间戳转化到UTC,(无默认值时,当前的时间戳转为标准UTC时;也可以输入参数)。
localtime():获得当地当前的UTC+8。
asctime(): 获得字符串格式 元组--->字符串
>>> time.asctime()
'Sat Sep 1 16:29:17 2018'
ctime(): 时间戳---->字符串
mktime():
strftime():
strptime(格式,struct_time) ---->"格式化的字符串"
>>> time.strftime("%Y-%m-%d %H:%M:%S",localtime())
'2018-09-01 16:38:38'
strptime('字符串’,格式)
>>> time.strptime('2018-09-01 17:04:00',"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=17, tm_min=4, tm_sec=0, tm_wday=5, tm_yday=244, tm_isdst=-1)
1.2 datetime
类: datetime.date()
datetime.time()
datetime.datetime()
>>> datetime.datetime.now()
datetime.datetime(2018, 9, 1, 17, 25, 19, 837197)
>>> print(datetime.datetime.now())
2018-09-01 17:25:44.738970
>>> datetime.datetime.now()+datetime.timedelta(3) #三天后的此刻,默认以天为单位,timedelta()不能单独存在。
datetime.datetime(2018, 9, 4, 17, 28, 2, 46990)
>>> datetime.datetime.now()+datetime.timedelta(hours=3)
datetime.datetime(2018, 9, 1, 20, 30, 26, 491917)
>>> datetime.datetime.now()+datetime.timedelta(minutes=30)
datetime.datetime(2018, 9, 1, 18, 2, 48, 972030)
>>> datetime.datetime.now().replace(minute=3,hour=2) #修改时间
datetime.datetime(2018, 9, 1, 2, 3, 51, 622663)
2.开源模块(第三方库)
3.自定义模块