通过内建函数open可以方便的打开文件,需要提供文件的绝对路径或者相对路径,可以指定读取文件的方法,读取的文件内容可以按行进行遍历处理。读取完成之后,需要手动关闭文件对象,不然会占用一定的资源。
另一个比较方便的方法是使用with代码块,在代码块执行完成之后,它会自动对资源进行一个释放。

  1. # f = open(r'e:\dir\of\file')
  2. # for line in f:
  3. # print(line)
  4. # f.close()
  5. with open(r'e:dir\of\file') as f:
  6. for line in f:
  7. print(line)
模式 描述
r 只读模式
w 只写模式,创建新文件(清楚路径下的同名文件中的数据)
x 只写模式,创建新文件,但存在同名路径时会创建失败
a 添加到已经存在的文件(如果不存在就创建)
r+ 读写模式
b 二进制文件的模式,添加到别的模式中(比如’rb’或’wb’)
t 文件的文本模式(自动将字节解码为Unicode)。如果没有指明模式,默认使用此模式,可以添加到别的模式中(例如’rt’或’xt’)
方法 描述
read([size]) 将文件数据作为字符串返回,可选参数size控制读取的字节数
readlines([size]) 返回文件中行内容的列表,size参数可选
write(str) 将字符串写入文件
writelines(strs) 将字符串序列写入文件
close() 关闭文件
flush() 将内部I/O缓冲器内容刷新到硬盘
seek(pos) 移动到指定的位置(整数)
tell() 返回当前的文件位置,返回值是整数
closed 如果文件已关闭,则为True

字节与Unicode文件

对于Unicode文件,可以通过添加encoding参数读取Unicode文件。需要注意的是,Unicode文件在移动读取位置时,有可能位于某个Unicode编码中间使得读取报错。