Python编程之文件操作(二)

前言

上面一篇博客说到了文件的三种读写模式,今天我们接着昨天的内容继续说。

r 模式(只读模式)

1.路径不存在直接报错

2.路径存在

with open(r'b.txt', 'r', encoding='utf-8') as f:
    print(f.read())

w 模式(只写模式)

1.路径不存在会创建路径

2.路径存在

with open(r'b.txt', 'w', encoding='utf-8') as j:
   j.write('只写模式')

a 模式(追加模式)

1.路径不存在会自动创建路径

2.路径存在不会清空文件,在文件末尾添加内容

with open(r'a.txt', 'a', encoding='utf8') as f:
    f.write('厉害了!')

文件操作方法

1.读系列

# 读系列
with open(r'b.txt', 'r', encoding='utf8') as f:
    pass
print(f.read())  # 一次性读取所有文件内容
print(f.readline())  # 每次只读取文件一行内容
print(f.readlines())  # 读取文件所有的内容 组织成列表 每个元素是文件的每行内容
print(f.readable())  # 判断文件是否可读 True False

2.写系列

# 2.写系列 写入的内容必须是字符串
with open(r'b.txt', 'w', encoding='utf8') as f:
    f.write('小弟弟')
    f.writelines(['jason','jack','lee'])
    print(f.writable())  # 判断当前文件是否具备写的能力
    f.flush()  # 直接将内存文件数据刷到硬盘 相当于Ctrl+s

文件优化操作

 1 with open(r'b.txt','r',encoding='utf8')  as f:
 2     print(f.read())  # 一次性读取文件所有内容
 3     print(f.read())  # 一次性读取文件所有内容
 4     print(f.read())  # 一次性读取文件内所有内容
 5 """
 6 1.一次性读完之后 光标停在了文件末尾 无法再次读取内容
 7 2.改方法在读取大文件的时候,可能会造成内存溢出的情况
 8   解决上述问题的方法就是逐行读取文件内容
 9 """
10 # for line in f:  # 文件变量名f支持for循环 相当与一行一行读取数据文件内容。

文件操作模式

t 文本模式
    1.默认的模式
        r w a  >>> rt wt at
    2.该模式所有操作都是以字符串基本单位(文本)
    3.该模式必须要指定encoding参数
    4.该模式只能操作文本文件
    
b 二进制模式
    1.该模式可以操作任意类型的文件
    2.该模式所有操作都是以bytes类型(二进制)基本单位
    3.该模式不需要指定encoding参数
        rb wb ab

恶搞图 

posted @ 2021-11-11 21:36  bug俱乐部  阅读(34)  评论(0)    收藏  举报