1.替换字符串--replace(old,new[,max]):替换字符串中找到的old为new,如果字符串中找到了多个old字串,则可使用max指定替换多少个old(默认是替换所有),再有的就是.如果在字符串没有找到old字串.则返回原字符串
>>> str = 'AAAAABBBBBDDDDD'
>>> str.replace('D','C')#把字符串中所有的D替换为C
'AAAAABBBBBCCCCC'
>>> str.replace('A','a',3)#替换字符串中的3个A为a
'aaaAABBBBCCCCC'#replace()函数的操作不会影响原字符串.只是拷贝原字符串然后进行操作而已
2.字符串与时间格式的转换
首先看看格式化日期的时候常用到的标记
%a 英文星期的简写
%A 英文星期的完整拼写
%b 英文月份的简写
%B 英文月份的完整拼写
%c 本地当前的日期与时间
%d 日期数,1-31之间
%H 小时数,00-23之间
%I 小时数,01-12之间
%m 月份,01-12之间
%M 分钟数,01-59之间
%j 本年从第1天开始计数到当天的天数
%w 星期数,0-6之间(0是周日)
%W 当天属于本年的第几周,周一作为一周的第一天进行计算
%x 本地的当天日期
%X 本地的当前时间
%y 年份,0-99之间
%Y 年份的完整拼写
①时间转为字符串--strftime(format[,tuple]),其中format为转换格式类型tuple为一个时间元组
>>> import time#由于获取时间和使用转换函数需用到time模块.所以必须导入
>>> str = time.strftime('%Y-%m-%d %X',time.localtime()) #time,localtime()返回以本地时间的所有参数为元素的元组
>>> print str
2009-12-09 21:36:35
②字符串转为时间--需要用到time模块strptime()函数和datetime模块datetime()函数
strptime(string,format)--把字符串string以format的格式返回一个时间的元组(元组内有齐全的时间元素,但是如果字符串中只有几个有用的时间信息,其他的元素默认或取本地时间的一些信息)
>>> str = '2009/12/09'
>>> str = time.strptime(str,'%Y/%m/%d')#注意后面的获取字符串中的时间的格式.对应原字符串中年月日之间的间隔符号
>>> print str
time.struct_time(tm_year=2009, tm_mon=12, tm_mday=9, tm_hour=0, tm_min=0, tm_sec
=0, tm_wday=2, tm_yday=343, tm_isdst=-1)#可以注意到元组中前三个元素都是刚才字符串中得到的值,后面的信息都没没获取到
datetime(year,month,day[,hour[,minute[,second[,mic rosecend[,tzinfo]]]]]) 函数返回一个datetime类型的变量,这是一种特殊的变量,也就是说,时间型的
>>> str = datetime.datetime(2009,12,9)#定义一个datetime变量,注意后面参数中的月或日,只能单写也就是说,9月或9日不能写成09月或09日,必须单写
>>> print str
2009-12-09 00:00:00#但显示却会显示完整的,比如其中的9日显示为了09日,还有,默认时分秒为0
>>> type(str)
#这里可以看到刚才定义的str为这种类型的变量最后再把上面这两个函数结合起来完整的完成字符串到时间的转换:
>>> import time,datetime#首先导入两个使用到的模块
>>> string = '2009-12-09'
>>> string = time.strptime(string,'%Y-%m-%d') #首先把字符串使用strptime()返回一个时间元素构成的元组
>>> y, m, d = string[0:3]#把得到的时间元组前三个元素赋值给三个变量(也就是年月日)
>>> string = datetime.datetime(y, m, d)#最后使用datetime把刚才得到的时间变量转为正式的时间格式变量
>>> print string
2009-12-09 00:00:00#至此,可以说完成了字符串到时间的转换(注意是变量类型转换的过程)