文件的读取一般使用的三个方法
1.read([size])
从文件中读取size个字符,并作为结果返回。如果没有size参数,则读取整个文件。读取到文件末尾,会返回空字符串。
2.readline()
读取一行内容作为结果返回,读取到文件末尾,会返回空字符串。
3.readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表
【操作例子】读取一个文件前4个字符
with open(r'bb.txt','r',encoding='utf-8') as f:
print(f.read(4))
【操作例子】文件较小,一次将文件内容读入到程序中
with open(r'bb.txt','r',encoding='utf-8') as f:
print(f.read())
【操作例子】按行读取一个文件
with open(r'bb.txt','r',encoding='utf-8') as f:
while True:
fragment=f.readline()
if not fragment:
break
else:
print(fragment,end='')
【操作例子】使用迭代器(每次返回一行)读取文本文件
with open(r'bb.txt','r',encoding='utf-8') as f:
for a in f:
print(a,end="")
文件对象的常用属性和方法
文件对象封装了文件相关的操作,以下我们详细列出文件对象的常用属性和方法。
文件对象的属性
属性 | 说明 |
name | 返回文件的名字 |
mode | 返回文件的打开模式 |
closed | 若文件被关闭则返回Ture |
文件对象打开模式
模式 | 说明 |
r | 读模式 |
w | 写模式 |
a | 追加模式 |
b | 二进制模式(可与其他模式组合) |
+ | 读写模式(可以与其他模式组合) |
文件对象的常用方法
方法名 | 说明 |
read([size]) | 从文件中读取size个字节或字符的内容返回,若省略[size],则读取到文件末尾,即一次读取文件所有文件 |
readine() | 从文本文件中读取一行内容 |
readines() | 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回。 |
write(str) | 将字符串str内容写入文件 |
writelines(s) | 将字符串列表s写入文本文件,不添加换行符 |
seek(offset,[,whencel]) | 把文件指针移动到新的位置,offset表示相对于whence的多少个字节的偏移量: offset:off为正往结束方向移动,为负往开始方法移动 whence:不同的值代表不同含义 0:从文件头开始计数(默认值) 1:从当前位置计算 2:从文件尾开始计算 |
tell() | 返回文件指针的当前位置 |
truncatep([size]) | 不论指针在什么位置,只留下指针前size个字节的内容,其余全部删除。 如果没有传入size,则当前位置到文件末尾内容全部删除 |
flush() | 把缓冲区的内容写入到文件,但不关闭文件 |
close() | 把缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源 |
【操作例子】
with open("bb.txt","r",encoding="utf-8") as f:
print("文件名是:{}".format(f.name)) #打印文件名
print(f.tell()) #打印当前指针位置
print(“读取文件内容:{}”.format(f.readline()) #读一行内容
print(f.tell()) #打印读取后的指针位置
f.seek(2) #指针位置从当前位置向后移动两个字节
print(“读取文件内容:{}”.format(f.readline()) #读一行内容