zoukankan      html  css  js  c++  java
  • 文件操作

    打开文件的模式

    # r模式只读模式,在这个模式下面不能往文件写内容否则报错
    f = open('a.txt', 'r', encoding='utf8')
    print(f.read())
    f.close()
    
    # w模式只写模式,在这个模式下面不能读内容否则报错
    # 这个模式下面有一点要特别注意,如果用w模式打开一个有内容的文件,文件的内容会被清空。一定要慎重!!!!
    f = open('a.txt', 'w', encoding='utf8')
    print(f.write('abc'))
    f.close()
    
    # a模式追加模式,在这个模式下面不能读取内容否则报错
    # 这个模式下面打开文件,不会清空文件内容,写入文件默认在最后添加
    f = open('a.txt', 'a', encoding='utf8')
    print(f.write('abc'))
    f.close()
    
    # ======================= 下面的模式需要跟rwa组合使用 =======================
    # b模式
    # 注意这个模式下面不能指定encoding,否则报错
    # 这个模式是能写入bytes类型的数据,不能写入文本
    f = open('a.txt', 'wb')
    f.write('abc'.encode('utf8'))
    f.close()
    # 读出的也是bytes类型
    f = open('a.txt', 'rb')
    f.read()
    f.close()
    
    # t模式(默认模式)
    # 这个模式是open的一个默认模式,只能读写字符类型,需要指定encoding
    f = open('a.txt', 'wt')
    f.write('abc')
    f.close()
    # 读出的也是字符类型
    f = open('a.txt', 'rt')
    f.read()
    f.close()
    
    # +模式
    # 这个模式给rwa模式添加他们没有的功能
    f = open('a.txt', 'w+')  # 赋予w读文件的功能
    f.close()
    f = open('a.txt', 'a+')  # 赋予a读文件的功能
    f.close()
    f = open('a.txt', 'r+')  # 赋予r写文件的功能
    f.close()

    指针操作

    # 获取指针位置
    f.tell()
    # 移动指针
    # seek有三种移动方式0,1,2,其中1和2必须在b模式下进行,但无论哪种模式,都是以bytes为单位移动的
    f.seek(3, 0)  # 以文件开头为对照,移动3个bytes
    f.seek(3, 1)  # 以指针当前位置为对照,移动3个bytes
    f.seek(3, 2)  # 以文件结尾为对照,移动3个bytes
    
    #
    # 2. truncate是截断文件
    f.truncate(n) # 如果传入n,保留文件起始位置开始到n的数据,其余的删除
    f.truncate() # 如果不传n,保留文件起始位置开始到指针所在位置,其余的删除

    内置方法

    #掌握
    f.read() #读取所有内容,光标移动到文件末尾
    f.readline() #读取一行内容,光标移动到第二行首部
    f.readlines() #读取每一行内容,存放于列表中
    
    f.write('1111
    222
    ') #针对文本模式的写,需要自己写换行符
    f.write('1111
    222
    '.encode('utf-8')) #针对b模式的写,需要自己写换行符
    f.writelines(['333
    ','444
    ']) #文件模式
    f.writelines([bytes('333
    ',encoding='utf-8'),'444
    '.encode('utf-8')]) #b模式
    
    #了解
    f.readable() #文件是否可读
    f.writable() #文件是否可读
    f.closed #文件是否关闭
    f.encoding #如果文件打开模式为b,则没有该属性
    f.flush() #立刻将文件内容从内存刷到硬盘
    f.name

      

  • 相关阅读:
    .NET Web应用配置本地IIS(实现Visual Studio离线运行与调试)
    Windows10 IIS Web服务器安装配置
    Visual Studio 2022 Preview设置简体中文
    nlp中各中文预训练模型的输入和输出
    numpy和Pytorch对应的数据类型
    Zookeeper入门看这篇就够了
    做一个有温度的程序员
    Apollo 配置中心详细教程
    浅析 DDD 领域驱动设计
    把之前CompletableFuture留下的坑给填上。
  • 原文地址:https://www.cnblogs.com/wtil/p/13323746.html
Copyright © 2011-2022 走看看