去掉每一行末尾的换行符:
f=open(r"G:\6Tipdm\file_read_write\test.txt","r",encoding="utf-8")
foriinrange(3):
data=f.readline().strip()
print(data)
f.close()
结果如下:
3)readlines()方法的使用说明
f=open(r"G:\6Tipdm\file_read_write\test.txt","r",encoding="utf-8")
data=f.readlines()
print(type(data))
print(data)
f.close()
结果如下:
4.对于一个10G的大文件,怎么高效的查看文件中的内容呢?
1)相关说明
当我们读取文件中的内容,相当于是把写在硬盘上的东西,读取到内存中。不管你是使用read()或者readlines()一次性读取到到内存中,还是使用readline()一行行的将整个内容读取到内存中,如果文件很大,都将会耗用很大的内存。同时,从硬盘读取文件内容到内存中,也会很慢。
因此,有没有一种高效的方式?既让我们看到了文件中的内容,又不会占用内存呢?下面我们将进行说明。
2)操作说明
f=open(r"G:\6Tipdm\file_read_write\yesterday.txt","r",encoding="utf-8")
forlineinf:
print(line.strip())
部分截图如下:
上述方式中,f相当于一个迭代器,我们使用for循环迭代f中元素。每循环一次,就相当于读取一行到内存中,并记住这一次读取到的位置。当进行下次迭代的时候,上一次读取到内存中的内容,就会被销毁了,当前内存中读取的就是第二行的内容。当进行第三次循环的时候,内存中第二行的内容也会被销毁,此时内存中只会保存第三行的内容,这样依次进行下去。直到最后一次循环,读取最后一行的内容,此时,内存中保留的也只是最后一行的内容。
迭代器有一个特性:每次进行迭代的时候,就会记住当前读取的位置。当进行下一次迭代的时候,前面的内容会被销毁掉,在内存中只会保留当前循环得到的内容。