需求:
汇总统计各图片格式对应图片大小 ,如下一串字符串格式:
log = '''
a1/a.jpeg 100 /jpeg 0
a1/b.jpeg 200 /jpeg 0
a1/c.json 120 /json 0
a1/d.json 223 /json 0
a1/a.jpg 150 /jpg 0
a1/b.jpeg 300 /jpeg 0
a2/b.jpg 225 /jpg 0
a3/e.jpg 336 /jpg 0
a3/h.jpeg 500 /jpeg 0/222
'''
思路:
1.通过正则表达式截取各图片格式及大小
2.定义一个字典存图片格式对应的大小,遍历统计
#如下字符串
log = '''
a1/a.jpeg 100 /jpeg 0
a1/b.jpeg 200 /jpeg 0
a1/c.json 120 /json 0
a1/d.json 223 /json 0
a1/a.jpg 150 /jpg 0
a1/b.jpeg 300 /jpeg 0
a2/b.jpg 225 /jpg 0
a3/e.jpg 336 /jpg 0
a3/h.jpeg 500 /jpeg 0/222
'''
# 定义一个字典保存值
logdit = {}
#正则表达式取出图片格式及大小
p6 = re.compile(r"\.(.*?)\s(\d*)")
print(p6.findall(log))
for image_type, image_size in p6.findall(log):
# 做判断,如果键在这个字典中,就取出值累加,若不在字典中,则使用本次循环图片格式作为键,大小作为值
if image_type in logdit:
logdit[image_type] += int(image_size)
else:
logdit[image_type] = int(image_size)
print(logdit)
哈哈哈 真好用,之前字符串分割再截取代码相对复杂一丢丢,来来来,每天进步一丢丢,冲呀