head first 中的 document 处理
'''简单的读取文件'''
1.import os
2.os.getcwd() #获取当前工作路径
3.os.chdir() #切换目录
4.data = open('sketch.txt') #打开一个文件并赋至data
5.print(deta.readline(), end='') #读取data文件中的第一行数据
6.data.seek(0) #回到文件起始位置
7.for each_line in data: #打印data文件的每一行数据
print(each_line, end'')
8.data.clos() #关闭文件
1. split()方法调用
(role, line_spoken) = each_line.split(':', 1)
以 ‘:’为分界将数据分为两段分别指给参数role 和 line_spoken
2.异常处理程序try / except 代码保护机制
try: data = open('sketch.txt') for each_line in data: #循环data文件的每一行内容 try: #代码保护遇到异常数据执行 pass ,从而保护已有功能正常运行 (role, line_spoken) = each_line.split(':', 1) #调用split(':', 1)方法,1为可选参数--当语句中有多个':'时使用第一个; print(role, end='') print(' said: ', end="") #加入“said:” end='' 不换行print()默认是换行的 print(line_spoken, end='') except: pass data.close() #关闭data文件 except: print('The data file is missing!')
3.加入更多代码处理异常 if not 和 import os
import os if os.path.exists('sketch.txt'): #判断执行路径中的文件是否存在 os.path.exists()方法判断执行文件是否存在 data = open('sketch.txt') for each_line in data: if not each_line.find(':') == -1: #判断数据中是否存在‘:’如果存则往下执行,等于-1则表示不存在; find(':')方法可以找到“:”的位置 (role, line_spoken) = each_line.split(':', 1) print(role, end='') print(' said: ', end="") print(line_spoken, end='') data.close() else: print('The data file is missing!')
总结:两种处理方法都能解决异常,我更倾向于try / except方法--简单,易读,注重考虑想达到的目的。

浙公网安备 33010602011771号