10.2 Write a program to read through the mbox-short.txt and figure out the distribution by hour of the day for each of the messages. You can pull the hour out from the 'From ' line by finding the time and then splitting the string a second time using a colon.
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
Once you have accumulated the counts for each hour, print out the counts, sorted by hour as shown below.
name = input("Enter file:")
if len(name) < 1 : name = "mbox-short.txt"
handle = open(name)
hours = dict()
result = list()
for line in handle:
line.rstrip()
if line.startswith("From"):
if not line.startswith('From:'):
email = line.split()
time = email[5]
hour = time.split(":")[0]
hours[hour] = hours.get(hour,0)+1
#这里注意hours.items输出的是包含元组的列表,元组无法排序
for k,v in hours.items():
newtup = (k,v)
result.append(newtup)
result.sort()
for k,v in result:
print(k,v)