Python的文本输入机制
>>>the_file = open('sketch.txt') #打开文件
#do someting with the data
#in "the_file"
>>>the_file.close() #关闭
>>>import os #从标准库导入“os”
>>>os.getcwd() #当前工作目录
>>>os.chdir('.../HeadFirstPython/chapter3') #切换为包含数据文件的文件夹
>>>data=open('sketch.txt')
>>>print(data.readline(),end='') #从文件获取一个数据行
>>>data.seek(0) #返回文件起始位置
进一步查看数据
(role,line_spoken)=each_line.split(":") #调用”split()“并关联”each_line“字符串,将这个字符串在冒号”:“处分开
>>>each_line.find(":") #字符串不包含冒号,返回-1表示未找到
>>>for each_line in data:
if not each_line.find(':')==-1: #关键字"not"将条件的值取反
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print('said: ',end='')
print(line_spoken,end='')
try/except机制
try:
你的代码(可能导致一个运行时错误)
except:
错误恢复代码 #可以报告这是一个错误并使用pass继续执行代码
"traceback"时出现的运行时错误的一个详细描述
for each_line in data:
try:
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print('said: ',end='')
print(line_spoken,end='')
except:
pass
其他错误
import os
if os.path.exists('sketch.txt'): #增加错误检查代码
for each_line in data:
try:
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print('said: ',end='')
print(line_spoken,end='')
except:
pass
else:
print('The data file is missing!')
try: #增加一层异常处理
data=open('sketch.txt'
for each_line in data:
try:
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print('said: ',end='')
print(line_spoken,end='')
except:
pass
except:
print('The data file is missing!')
特定指定异常
try:
data=open('sketch.txt'
for each_line in data:
try:
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print('said: ',end='')
print(line_spoken,end='')
except ValueError: #指定要处理的运行时错误类型
pass
except IOError:
print('The data file is missing!')