import re,openpyxl,time,os
'''
获取imei号、初始vol、续航总时间
利用正则表达式与list知识获取这些数据
获取excel模板
获取一个系统定义好的模板
将对应的数据填入
保存文件
修改文件名字时间
'''
class auto_fill(object):
def __init__(self):
pass
''' 获取文件名 '''
def get_file_name(self):
list_file_name = os.listdir()
middle = int(len(list_file_name)/2)
list_time = list_file_name[:middle]
list_ability = list_file_name[middle:]
return list_time,list_ability
''' 获取运行时间 '''
def get_run_time(self,list_name):
str_time = []
for i in list_name:
with open(i,mode='r',encoding='UTF-8') as file:
sss = file.readline()
str = sss[2:-2].replace('小时',':')
str_time.append(str)
return str_time
''' 获取imei vol数据 '''
def get_ability(self,list_name):
re_time_vol = re.compile(r'Voltage: \d\d\d\d')
re_imei = re.compile(r'IMEI号:\d{15}')
str_ability_imei = []
str_ability_vol = []
for i in list_name:
with open(i,mode='r',encoding='UTF-8') as file:
sss1 = file.readline()
sss2 = file.readline()
mo_str_vol = re_time_vol.search(sss1)
if mo_str_vol:
sss1 = mo_str_vol.group()[-4:]
else:
sss1 = 'null'
mo_str_imei = re_imei.search(sss2)
if mo_str_imei:
ss2 = mo_str_imei.group()[-4:]
else:
ss2 = 'null'
str_ability_vol.append(sss1)
str_ability_imei.append(ss2)
return str_ability_imei,str_ability_vol
''' 插入空行,使列表更利于填写'''
def change_list(self,list_2):
for i in range(1,len(list_2)+1):
if i%5 == 0:
list_2.insert(i-1, '')
return list_2
''' 行列互换 '''
def row_to_col(self,list1):
return list(map(list, zip(*list1)))
''' 填表 '''
def read_write_excel(self,list1_t):
wb = openpyxl.load_workbook(r'E:\excel模板\xxxxx PVT APK续航测试用例报告_V3.2_timetimetime.xlsx')
sheet = wb.get_sheet_by_name("详细报告")
project_path = os.getcwd()
_, project_name = os.path.split(project_path)
sheet['A1'] = project_name + sheet['A1'].value
end_length = len(list1_t) + 2
for i in range(3,end_length+1):
for j in range(2,5):
sheet.cell(row=i, column=j).value = list1_t[i-3][j-2]
wb.save(project_name + ' APK续航测试用例报告_V3.2_'+time.strftime("%Y%m%d",time.localtime())+'.xlsx')
if __name__ == "__main__":
address = input('请输入目标文件目录:\n')
os.chdir(r'%s'%address)
obj = auto_fill()
list_time,list_ability = obj.get_file_name()
str_time = obj.get_run_time(list_time)
list_imei ,list_vol = obj.get_ability(list_ability)
list_imei = obj.change_list(list_imei)
list_vol = obj.change_list(list_vol)
str_time = obj.change_list(str_time)
list_all = [list_imei,list_vol,str_time]
list_all2 = obj.row_to_col(list_all)
obj.read_write_excel(list_all2)
print('ok!')
这个程序编写的时间有点长,大部分都是在上班时空余时间中抽空编写完的。总体来说感觉还是不错的,虽然不是脚本啥的。
近段时间持续在刷《流畅的python》,进度有点慢。因为我还在继续配置Android自动化测试的环境,终于快搭建成功了。我组长之前与我说只要下载一个sdk放进去就行了。放进去之后发现出来各种问题,因为eclipse过于老旧,之前也没去学习怎么搭建开发环境。不过还好,终于快搭建完成了。
在刷《流畅的python》中感悟颇多,可惜没时间敲代码练手,只能尝试尽量的多去记住一些东西。不得不说这本书真的是好,谁看谁知道。
834

被折叠的 条评论
为什么被折叠?



