文件操作理论升级

  文件操作理论升级

  · 读写模式之a模式

  · 文件操作方法

  · 文件优化操作

  · 文件操作模式

  一、读写模式之a模式

    a模式 只追加模式
    路径不存在:自动创建

with open(r'a.txt','a',encoding='utf8') as f:
    pass
# 路径存在:不会清空文件 在文件末尾添加内容
with open(r'a.txt', 'a', encoding='utf8') as f:
    f.write('\n今天周四了 马上又要放假了 好开心!')
    
 
"""小总结
    我们所学习的r w a读写模式都只能操作文本文件
"""

 二、文件操作方法

# 文件操作方法
# 1.读系列
with open(r'a.txt', 'r', encoding='utf8') as f:
    # print(f.read())  # 一次性读取文件内所有的内容
    # print(f.readline())  # 每次只读文件一行内容
    # print(f.readlines())  # 读取文件所有的内容 组织成列表 每个元素是文件的每行内容
    # print(f.readable())  # 判断当前文件是否具备读的能力


# 2.写系列
with open(r'a.txt','w',encoding='utf8') as f:
    # f.write('克服一切困难 奥利给!')  # 往文件内写入文本内容
    # f.write(123)  # 写入的内容必须是字符串类型
    # f.writelines(['jason','kevin','tony'])  # 可以将列表中多个字符串元素全部写入
    # print(f.writable())  # True
    # print(f.readable())  # False
    f.flush()  # 直接将内存内文件数据刷到硬盘 相当于ctrl+s

 三、文件优化操作

with open(r'a.txt', 'r', encoding='utf8') as f:
    # print(f.read())  # 一次性读取文件内所有的内容
    # print(f.read())  # 一次性读取文件内所有的内容
    # print(f.read())  # 一次性读取文件内所有的内容
    """
    1.一次性读完之后 光标停留在了文件末尾 无法再次读取内容
    2.该方法在读取大文件的时候 可能会造成内存溢出的情况
        解决上述问题的策略就是逐行读取文件内容
    """
    # for line in f:  # 文件变量名f支持for循环  相当于一行行读取文件内容
    #     line
    '''以后涉及到多行文件内容的情况一般都是采用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 19:20  Roseblacko  阅读(26)  评论(0编辑  收藏  举报