man = [] #创建列表other = []try: data = open('sketch.txt') for each_line in data: try: (role, line_spoken) = each_line.split(':', 1) line_spoken = line_spoken.strip() #去除空白符 if role == 'Man': man.append(line_spoken) #将man的话添到man[] elif role == 'Other Man': other.append(line_spoken) #将other man的话添到列表 except ValueError: #异常处理 pass if 'data' in locals(): #调用方法locals()判断‘data’文件是否存在当前环境中 data.close() except IOError: #I/O错误处理 print('The data file is missing!')#将处理的数据写入man1.txt和other2.txt文档try: man1 = open("man1.txt", "w") #调用open()方法创建写入文件'w'为写入参数,open()默认为'r'读 other2 = open("other2.txt", "w") print(man, file=man1) #print() print(other, file=other2) except IOError: print('file error')finally: #确保打开的文件关闭及时try遇到异常也会关掉man1和other2文件防止数据丢失 if 'man1' in locals(): man1.close() if 'other2' in locals(): other2.close()
finally方法过于臃肿