玖叶教程网

前端编程开发入门

Python文件读写操作方法「文字和视频讲解」

前面大家了解python是怎么操作文件的了,也学习过文件读取和写入模式的一些细节以及文件定位等等,这节课主要是深入了解文件读写的细节控制,容错方法和关闭文件的细节,另外还有一种简写方法with语句来操作文件读写。下面来一一讲解。

1.文件读取:单行读取,多行读取和按字节读取,控制读取内容量

f = open('a.txt', 'r')
content = f.read(3) # 3表示读取3个字节,同时下标会向右移动三个字节
content = f.readline() # 表示读取一行,每次读取后指针移动一行
content = f.readlines() # 把文件按照换行符进行读取,返回一个列表print(content)
f.close()

2.文件对象遍历

这里要理解一个概念,文件读取后存放在一个对象f中,这个f对象是可迭代的对象,可以借助以下方法来验证一下,然后在对文件对象进行遍历。

f = open('files/123.jpg', 'r')
print(f)
print(type(f))import collections.abc
print(isinstance(f, collections.abc.Iterator)) # 由此可见f也属于迭代器
for i in f:
    print(i, end='')

if f.readable(): # 通过readable()函数做一个容错处理
    content = f.readlines()
    for i in content:
        print(i, end='')
f.close()

注意:一般情况下文件不是很大使用read()和readlines()方法直接读取整个文件,readline()是一行一行的读取,适合处理较大文件,f是一个迭代器,使用for循环遍历也可以处理大文件。

3.文件写入操作

f = open('files/a.txt', 'a')
if f.writable(): # 容错
    print(f.write('aaa')) # 返回结果是写入字符的长度,不是文件中字符的长度
f.close()

4.关闭文件操作:文件关闭后会自动释放资源,其次还会立即清空缓冲区的数据内容到磁盘文件,否则可能会导致文件内容的丢失,使用断点验证

f.flush() # 通过这个方法也可以清空缓冲区文件,执行磁盘写入
# 刷新缓冲区的三种情况:
# 1.关闭文件时自动刷新;
# 2.手动调用flush函数刷新;
# 3.缓冲区已满会自动刷新
f = open('files/abcd.txt', 'w')
f.write('aaa') # 到这里内容还不能写入文件,只有刷新缓冲区或关闭后才能写入
f.flush()

5.with简写:使用with语句,不用关闭和属性操作,with语句中已经从底层帮为你解决了这个问题

with open('files/abc.txt', 'w') as f:
    f.write('aaaaaa')

6.编码和解码

with open('files/abc.txt', 'wb', encoding='utf-8') as f:
    str = 'aaaaaaaaaaaaaaaaaaaa'
f.write(str)

with open('files/abc.txt', 'wb') as f:
    str = 'aaaaaaaaaaaaaaaaaaaa'
    f.write(str.encode('utf-8'))
    
with open('files/abc.txt', 'rb') as f:
    data = f.read()
    print(data)
    print(type(data)) # 字节类型数据,想使用转为字符串
    new_data = data.decode('utf-8') # 编码和解码类型应该一致,否则会报错,特别是有中文字符时
    print(new_data)
    print(type(new_data))
    
with open('files/abc.txt', 'rb', errors='ignore') as f: 
# errors='ignore'表示忽略编码错误
    pass

视频地址:11-4【python自学网】文件操作-文件读写和关闭操作 python基础入门精讲视频教程_哔哩哔哩_bilibili

文章来源:Python自学网 http://www.wakey.com.cn/document-file-readline.html

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言