import os
import pickle
import nester
os.chdir('d:/Python_test/ch5')
def sanitize(time_string):
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = ':'
else:
return time_string
(mins, secs) = time_string.split(splitter)
return(mins + '.' + secs)
def get_coach_data(filename):
#如果是打开文件相关的异常,为了简化代码(关闭文件)可以使用如下try:with except:结构
#异常 处理不仅提高代码的健壮性,也提高执行效率。if else 过多,逻辑复杂,且无论是否有异常都需要执行。
#而异常机制允许不加检查地执行,直到出现了异常再转入相应的处理
try:
with open(filename) as data_file:
data = data_file.readline()
return(data.strip().split(','))
except IOError as err:
print('File error! ' + str(err))
return(None)
#此处,可以省略finally块的使用。但对于其他异常,则可能仍然需要用到finally善后。
James = get_coach_data('james.txt')
Sarah = get_coach_data('sarah.txt')
Julie = get_coach_data('julie.txt')
Mikey = get_coach_data('mikey.txt')
print(sorted(set([sanitize(each_t) for each_t in James]))[0:3])
print(sorted(set([sanitize(each_t) for each_t in Sarah]))[0:3])
print(sorted(set([sanitize(each_t) for each_t in Julie]))[0:3])
print(sorted(set([sanitize(each_t) for each_t in Mikey]))[0:3])