python常用模块

re模块:

字符 功能
字符属性
. 匹配任意一个字符
[] 匹配[]中列举的字符
d 匹配数字0-9
D 匹配非数字
s 匹配空白
S 匹配非空白
w 匹配单词字符:a-z,A-Z,0-9,_.
W 匹配非字符单词
字符数量属性
* 匹配前一个字符出现0次或者无限次
+ 匹配前一个字符出现1次或者无限次
匹配前一个字符出现1次或者0次
{m} 匹配前一个字符出现m次
{m,n} 匹配前一个字符出现m-n次
匹配开头和结尾
^ 匹配字符串开头
$ 匹配字符串结尾
匹配分组
| 匹配左右任意一个表达式
(a,b) 将括号中字符串作为一个分组
(? : ) 取消分组
um 引用前面第num组匹配到的字符串
(?p<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串

match(pattern,str,[,flag]):从字符串开头开始匹配,匹配不到返回None

import re
str= 'zpp123xnq@163.com'
res = re.match(r'[w]+',str)
print(res.group())
#####zpp123xnq
View Code

search(pattern,str,[,flag]):匹配第一次出现的符合条件的字符串,并返回

import re
str= 'zpp123xnq@163.com'
res1 = re.search(r'[d]+',str)
print(res1.group())
####123
View Code

findall(pattern,str):用列表返回所有能匹配到的结果

1 import re
2 str= 'zpp123xnq@163.com'
3 res2 = re.findall(r'[d]+',str)
4 print(res2)
5 ####['123', '163']
View Code

sub(pattern, repl,str,num):将匹配到的数据进行替换

1 import re
2 str= 'zpp123xnq@163.com'
3 res3 = re.sub(r'[d]+',r'love',str)
4 print(res3)
5 ####zpplovexnq@love.com
View Code

split(pattern,str):根据匹配进行切割字符串,并返回一个列表

1 import re
2 str= 'zpp123xnq@163.com'
3 res4 = re.split(r'3',str)
4 print(res4)
5 ####['zpp12', 'xnq@16', '.com']
View Code

time模块:

获取时间

time.time() :获取当前时间的时间戳

time.strftime('%Y-%m-%d %H-%M-%S') : 获取格式化后的字符(type = str)

time.localtime(): 获取元组形式的时间

time.gmtime(): 将时间转换成UTC格式的元组格式时间

 1 import time
 2 print(time.time())
 3 print(time.strftime('%Y-%m-%d %H-%M-%S'))
 4 print(time.localtime())
 5 print(time.gmtime())
 6 ‘’‘
 7 1537172237.677087
 8 
 9 2018-09-17 16-17-17
10 
11 time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=16, tm_min=17, tm_sec=17, tm_wday=0, tm_yday=260, tm_isdst=0)
12 
13 time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=8, tm_min=17, tm_sec=17, tm_wday=0, tm_yday=260, tm_isdst=0)
14 ’‘’
获取时间

时间转化

time.mktime(): 将结构化(元组)时间转化为时间戳

time.strptime():将字符串时间转化为结构化(元组)时间

time.strftime():将结构化(元组)转化为字符串时间

time.asctime():将结构化(元组)转化为英文字符串时间

time.ctime():将时间戳转化为应为英文字符串时间

 1 print(time.mktime(time.localtime()))
 2 print(time.strptime('2014-11-11','%Y-%m-%d'))
 3 print(time.strftime('%Y-%m-%d',time.localtime()))
 4 print(time.asctime(time.localtime()))
 5 print(time.ctime(time.time()))
 6 print(type(time.ctime(time.time())))
 7 
 8 ‘’‘
 9 1537175609.0
10 time.struct_time(tm_year=2014, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=315, tm_isdst=-1)
11 2018-09-17
12 Mon Sep 17 17:13:29 2018
13 Mon Sep 17 17:13:29 2018
14 <class 'str'>
15 ’‘’
时间格式转化

datetime模块

datatime模块中,将str类型的时间,转换为datetime.datetime类型

time = "2006.11.22 10.20.20"
date_time_time = datetime.datetime.strptime(time, "%Y.%m.%d %H.%M.%S")

datatime模块中,将datetime.datetime类型的时间,转换为str类型

str_time = datetime.datetime.strftime(date_time_time,"%Y.%m.%d %H.%M.%S")


 1 import datetime
 2 #1、datetime.datetime获取当前时间
 3 print(datetime.datetime.now())
 4 #2、获取三天后的时间
 5 print(datetime.datetime.now()+datetime.timedelta(+3))
 6 #3、获取三天前的时间
 7 print(datetime.datetime.now()+datetime.timedelta(-3))
 8 #4、获取三个小时后的时间
 9 print(datetime.datetime.now()+datetime.timedelta(hours=3))
10 #5、获取三分钟以前的时间
11 print(datetime.datetime.now()+datetime.timedelta(minutes = -3))
12 
13 import datetime
14 print(datetime.datetime.now())                                   #2017-08-18 11:25:52.618873
15 print(datetime.datetime.now().date())                            #2017-08-18
16 print(datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S"))    #2017-08-18 11-25-52
获取时间
 1 #1、datetime对象与str转化
 2 # datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
 3 '2018-03-09 10:08:50'
 4 
 5 # datetime.datetime.strptime('2016-02-22',"%Y-%m-%d")
 6 datetime.datetime(2016, 2, 22, 0, 0)
 7 
 8 #2、datetime对象转时间元组
 9 # datetime.datetime.now().timetuple()
10 time.struct_time(tm_year=2018, tm_mon=3, tm_mday=9,
11 
12 #3、时间戳转换成datetime对象
13 # datetime.datetime.fromtimestamp(1520561646.8906238)
14 datetime.datetime(2018, 3, 9, 10, 14, 6, 890624)
时间格式转化
原文地址:https://www.cnblogs.com/ppzhang/p/9661601.html