Python读写文件之读文件
读文件
打开文件
读写文件,自然第一步是打开文件,使用open( ),其返回一个文件对象,通常有两个参数
1 | open(filena,mode) |
第一个参数是文件名,第二个参数则是文件对象的访问模式.
访问模式可参照下图:
使用实例
测试文件名为 test.txt ,内容如下:
1 | open('test.txt', 'r') f = |
文件打开之后自然就是开始重头戏,读文件了.读文件有很多方式.
读取文件方式
接上例,这里 f 为上述的文件对象
read()
1 | f.read() |
这里我们通过 f.read(size) 的方式去读取文件,其将读取的内容作为字符串返回.
size 是一个可选的参数,当 size 缺省或者为负数的时候,返回全部内容.
1 | open("test.txt","r") f = |
size 值合法则返回指定字节的内容,前提是文件大小不超过你的内存,换句话说 read( ) 这种方式是将全部内容加载到内存中去.
1 | open("test.txt","r") f = |
当读到文件末尾的时候,f.read( ) 将会返回空字符串 (“”)
1 | open("test.txt","r") f = |
readline()
f.read( ) 返回文件的单独一行.以 “\n” 作为每行的结束,最后一行的使不使用换行符则无所谓.
首先对最初的测试文件 test.txt 测试,其最初最后一行没有换行:
1 | open("test.txt","r") f = |
然后这里我们将测试文件 test.txt ,在最后一行换行,如下图:
然后通过 readline( ) 测试
1 | open("test.txt","r") f = |
通过上述的两个用例,我们可以发现和 read( ) 一样,如果返回空字符串,则说明到达文件末尾.当空白行被换行符分割,它将作为一个新的一行,这里就不测试了.
最后
通过循环去读取一个文件,是最快最有效率的方式,如下:
1 | open("test.txt","r") f = |
如果你想一次性将所有内容作为 list 返回,可以使用 list(f) 或者 f.readlines()