HeadFirstPython-文件与异常
python学习笔记-文件与异常
本节主要是写如何使用文件,和程序如何处理异常。
文件可以直接被打开。
文件的使用流程: 打开文件 --> 读取文件内容(全部读取或只读取某行,将已读到的行数归0)-->关闭文件
打开文件
data = open('test.txt')
读取文件:
a = data.read()
print a
将已读的行数归0
data.seek(0)
关闭文件
data.close()
因为入门书籍,所以文件读取就只讲了这么多。
关于异常处理:
书中讲了两个思路:
a. 使用更多逻辑来隐藏出错
b. 直接让代码出错然后恢复
更具体的例子就是 一个文件打开时报错,你是先判断这个文件是否存在给定义报错,还是使用try/except来将报错显示出来
代码1
#!/usr/bin/env python
#coding=utf-8
data = open('/Users/chenbaocheng/Desktop/HeadFirstPython/chapter3/sketch.txt')
for each_item in data:
try:
"这里面写需要保护的代码内容"
(role,line_spoken) = each_item.split(':',1)
print role,
print ":",
print line_spoken
except:
pass
data.close()
代码2
#!/usr/bin/env python
#coding=utf-8
import os
file = "/Users/chenbaocheng/Desktop/HeadFirstPython/chapter3/sketch1.txt"
try:
data = open(file)
for each_item in data:
try:
"这里面写需要保护的代码内容"
(role,line_spoken) = each_item.split(':',1)
print role,
print ":",
print line_spoken
except ValueError:
pass
data.close()
except IOError:
print "the file is missing"
本节主要是写如何使用文件,和程序如何处理异常。
文件可以直接被打开。
文件的使用流程: 打开文件 --> 读取文件内容(全部读取或只读取某行,将已读到的行数归0)-->关闭文件
打开文件
data = open('test.txt')
读取文件:
a = data.read()
print a
将已读的行数归0
data.seek(0)
关闭文件
data.close()
因为入门书籍,所以文件读取就只讲了这么多。
关于异常处理:
书中讲了两个思路:
a. 使用更多逻辑来隐藏出错
b. 直接让代码出错然后恢复
更具体的例子就是 一个文件打开时报错,你是先判断这个文件是否存在给定义报错,还是使用try/except来将报错显示出来
代码1
#!/usr/bin/env python
#coding=utf-8
data = open('/Users/chenbaocheng/Desktop/HeadFirstPython/chapter3/sketch.txt')
for each_item in data:
try:
"这里面写需要保护的代码内容"
(role,line_spoken) = each_item.split(':',1)
print role,
print ":",
print line_spoken
except:
pass
data.close()
代码2
#!/usr/bin/env python
#coding=utf-8
import os
file = "/Users/chenbaocheng/Desktop/HeadFirstPython/chapter3/sketch1.txt"
try:
data = open(file)
for each_item in data:
try:
"这里面写需要保护的代码内容"
(role,line_spoken) = each_item.split(':',1)
print role,
print ":",
print line_spoken
except ValueError:
pass
data.close()
except IOError:
print "the file is missing"