1、allure的report响应文档会不断记录,这里要加上清除操作,将上次清除再生成这次的响应信息
2、生成log日志时,会生成重复日志信息,是因为addHandler里会不断记录log信息,所以在讲信息加入addHandler之前,要先做清除操作
3、使用+进行拼接时,只允许字符串格式的互相拼接,不能直接拼接其他类型参数,若需拼接,要使用str()进行转换
a='你好'
b=2022
c=a+str(b)
4、iter_content()
with open('../data/export/export.xlsx', 'wb') as fd:
for chunk in res.iter_content(): #遍历response.content里的内容,按块下载
fd.write(chunk)
5、时间和时间戳转换(10位时间戳为秒级时间戳,13位为毫秒级时间戳,毫秒级/1000变为秒级)
时间转为时间戳(将原有时间格式化为想要的时间格式,再转换为对应时间戳)
def timeFour(dt): #转换成时间数组 timeArray = time.strptime(dt, "%Y-%m-%d") #转换成时间戳 timestamp = time.mktime(timeArray) timestamp = int(timestamp) return timestamp |
dt:2022-01-01,任意时间格式的时间
strptime:p表示parse,表示分析的意思,所以strptime是给定一个时间字符串和分析模式,返回一个时间对象,返回结果为<class 'datetime.datetime'> 2019-07-04 14:47:00
可以看到strptime函数返回结果类型为datetime类的时间对象,将字符串按照给定的模式分析成了一个时间对象。mktime:将datetime类的时间对象转换为时间戳
时间戳转为时间再转为时间戳(时间戳与想要使用的参数时间戳格式不一致,例如时间戳:2022-01-01 12:03:34,而想要的时间戳为:2022-01-01 00:00:00,就需要进行格式转换)
def timeEleven(dt): dttime = dt/1000 time_local = time.localtime(dttime) timeStrf= time.strftime( "%Y-%m-%d",time_local) timeStrp = time.strptime( timeStrf,"%Y-%m-%d") print(timeStrp) timestamp = time.mktime(timeStrp) timestamp = int(timestamp) print('时间:',timestamp) return timestamp |
localtime:将时间戳转为struct_time 对象的时间格式
strftime:f表示format,表示格式化,和strptime正好相反,要求给一个输出格式和struct_time格式的时间对象,返回一个时间字符串,返回结果为<class 'str'> 2019@07@04 14:47
可以看到strftime返回类型为字符串,并按照给定的格式打印。
因为mktime只能转换datetime格式的时间,因此将localtime转为字符串格式的时间后,还要再将其通过strptime转换为datetime格式,才能正常转换为时间戳
6、字符串拼接
将字符串和变量拼接
url = '{}{}'.format('admin/issue/invoice/detail/',id)
需留意format前面的括号要和里面的参数值数量一致