文件的按行读取、按字节读取、移动文件指针

默认情况下,读取文件的内容时,小文件:直接read( )读取即可;大文件:readline( ).

按行读取

f=open('/test/passwd','r')
print(f.readline())
print(f.readline())
f.close()

文件的按行读取、按字节读取、移动文件指针_第1张图片

按字节读取

f=open('/test/passwd','r')
print(f.read(3))
print(f.tell())
f.close()

文件的按行读取、按字节读取、移动文件指针_第2张图片

读取文件全部内容返回列表

直接使用readlines( )返回的数据带有换行符\n:
读取文件内容,返回一个列表,列表元素分别为文件的行的内容

f = open('/test/passwd', 'r')
print(f.readlines())
f.close()

文件的按行读取、按字节读取、移动文件指针_第3张图片
返回不带换行符\n的列表:
读取文件内容,返回一个列表,去掉后面的\n

f = open('/test/passwd', 'r')
f1 = f.read()
print(f1.splitlines())
f.close()

文件的按行读取、按字节读取、移动文件指针_第4张图片

移动文件指针

seek():移动文件指针
第一个参数:偏移量 >0:向后移动 <0:向前移动
第二个参数:
0:移动到文件开头
1:当前位置
2:移动到文件末尾

f = open('/test/passwd')
f.read(3)
print(f.tell())
f.seek(2, 0)
print(f.tell())
f.close()

文件的按行读取、按字节读取、移动文件指针_第5张图片

f = open('/test/passwd','rb')
f.read(3)
print(f.tell())
f.seek(2, 1)
print(f.tell())
f.close()

在文本文件中,没有使用b模式选项打开文件,只允许从文件开头开始计算相对位置,从文件任意位置或文件尾计算时就会引发异常。

文件的按行读取、按字节读取、移动文件指针_第6张图片
文件的按行读取、按字节读取、移动文件指针_第7张图片

你可能感兴趣的:(python)