结束此处的测试代码中作者写的,第一段包含不正确的版本号,后者是正确的版本号:
#! /usr/bin/python2.7
try:
filename = raw_input(‘please input filename:’)
for eachLine infilename:
print(eachLine)
eachLine.close()
except IOError as err:
print(‘file open error: {0}’.format(err))
#! /usr/bin/python2.7
try: //try....except--------为Python中的异常处理语句
filename = raw_input(‘please input filename:’) //读取字符
fobj = open(filename, ‘r’) //检測操作语句
for eachLine in fobj: //循环输出
print(eachLine)
fobj.close() //关闭对象句柄
except IOError as err:
print(‘file open err:{0}’.format(err))
笔者自己的错误:
习惯性的觉得,创建了文件之后。就能够直接读取当中的数据,可是须要先检測文件是否存在。须要用到内建open()函数。
关于内建函数open():
handle = open(file_name,access_mode=’r’)
file_name 变量包括我们希望打开的文件的字符串名字,access_mode表示打开文件的方式,打开方式如表1,假设open成功。一个文件对象句柄会被返回。全部兴许文件操作都必须通过此文件句柄进行。当一个文件对象返回之后。我们就能够訪问它的一些方法,eg. readlines(),close()。
表1. 文件打开模式
a | 追加模式打开 |
w | 写模式打开 |
r | 读模式打开 |
a+ | 读写模式打开 |
w+ | 读写模式打开 |
r+ | 读写模式打开 |
ab | 二进制追加模式打开 |
wb | 二进制写模式打开 |
rb | 二进制读模式打开 |
ab+ | 二进制读写模式打开 |
wb+ | 二进制读写模式打开 |
rb+ | 二进制读写模式打开 |
Tips:
代码中一个有趣的语句,即print(eachLine)。此语句中能够通过在末尾加入逗号的方式,抑制自己主动生成的换行符号。由于在文件里自带换行字符,假设我们不抑制print语句产生的换行符号,就会有额外的空行产生。两种方式的执行结果对照图如图1。
图1.print语句两种方式执行结果对照图