首页 > 其他分享 >文件操作

文件操作

时间:2022-10-09 20:45:35浏览次数:52  
标签:文件 encoding read utf8 模式 操作 open

今日内容

文件操作

1.文件的概念
    就是操作系统暴露给用户操作硬盘的快捷方式
    eg:双击一个文件 其实就是从硬盘将数据加载到内存
    ctrl+s保存文件 其实就是将内存中的数据刷到硬盘保存
2.代码打开文件的两种方式
    方式一:
       f=open(文件路径,读写模式,encoding='utf8')
       f.close()
    方式2:
       with open('a.txt','r',encoding='utf8')as f1:
          wish 子代码块
    ps:wish上下文管理好处在于子代码运行结束自动调用close方法关闭资源
'''
open方法的第一个参数是文件路径 并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r
	D:\a\n\t
	r'D:\a\n\t'
以后涉及到路径的编写 推荐加上r

with支持一次性打开多个文件
	with open() as f1,open() as f2,open() as f3:
		子代码
'''
        

文件读写模式

'r'  只读模式:只能读不能写
    #1.文件路径不存在:直接报错
    #with open(r'b.txt','r',encoding='utf8')as f:
    #    print(f,read())
    #2.文件路径存在:正常读取文件内容
    with open(r'a.txt','r',encoding='utf8')as f:
        print(f.read())
'w'  只写模式:只能写不能看
    #1.文件路径不存在:自动创建
    #with open(r'b.txt','w',encoding='utf8')as f:
    #    pass
    #2.文件路径存在:先清空内容 之后再写入
    with open(r'a.txt','w',encoding='utf8')as f:
        f.write('洗衣服\n')
        f.write('洗衣服\n')
        f.write('洗衣服\n')  
    '''强调:换行符需要自己添加 并且后续数据对比的时候也要注意他的存在'''
'a'   只追加模式:文件末尾添加数据
    #1.文件路径不存在:自动创建
    #with open(r'c.txt','a',encding='utf8')as f:
    #    pass
    #2.文件路径存在:自动在末尾追加内容
    with open(r'a.txt','a',encoding='utf8')as f:
        f.write('我要洗澡')
''' 
当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写 可以使用关键字
 pass
 只补全语法不执行功能 本身没有任何的含义
'''

文件操作模式

t 文本模式
  默认的模式 r w a 其实全称是 rt wt at
  1.只能操作文本文件
  2.读写都是以字符为单位
  3.需要指定encoding参数 如果不知道则会采用计算机默认的编码

b 二进制模式(bytes模式)
  不是默认的模式 需要自己指定 rb wb ab
  1.可以操作任意类型的文件
  2.读写都是以bytes为单位
  3.不需要指定encoding参数 因为他是二进制模式不需要编码

二进制模式与文本模式针对文件路径是否存在的情况下 规律是一样的

文件诸多方法

1.1.read() 	
	一次性读取文件内容 并且光标停留在文件末尾 继续读取则没有内容
	并且当文件内容比较多的时候 该方法还可能会造成计算机内存溢出
 	括号内还可以填写数字 在文本模式下 表示读取几个字符
2.for循环
	一行行读取文件内容 避免内存溢出现象的产生
3.readline()
	一次只读一行内容
4.readlines()
	一次性读取文件内容 会按照行数组织成列表的一个个数据值
5.readable()
	判断文件是否具备读数据的能力
6.write()
	写入数据
7.writeable()
	判断文件是否具备写数据的能力
8.writelines()
	接收一个列表 一次性将列表中所有的数据值写入
9.flush()
    将内存中文件数据立刻刷到硬盘 等价于ctrl + s

文件内光标的移动

with open(r'a.txt', 'rb') as f:
    print(f.read())
    f.seek(0,0)
    print(f.read())
    f.seek(0, 0)
    print(f.read())
    # print(f.read(2).decode('utf8'))
    # f.seek(-1, 2)
    # print(f.tell())  # 返回光标距离文件开头产生的字节数
    """
    seek(offset, whence)
        offset是位移量 以字节为单位
        whence是模式   0  1  2
            0是基于文件开头
                文本和二进制模式都可以使用
            1是基于当前位置
                只有二进制模式可以使用
            2是基于文件末尾
                只有二进制模式可以使用
    """
    # print(f.read(3).decode('utf8'))

标签:文件,encoding,read,utf8,模式,操作,open
From: https://www.cnblogs.com/lzy199911/p/16773599.html

相关文章

  • 在 Linux 虚拟机上扩展根文件系统 扩容(azure cloud)
    文章目录​​linux文件系统扩展​​​​1.登录azurecloud​​​​2.进入服务器,查看当前的文件系统​​​​3.服务器关机(关机扩容)​​​​4.服务器上文件系统扩展调整​​li......
  • 大数据-基础操作代码(笔记)
    大数据-相关基础代码Kafka创建Topicbin/kafka-topics.sh--zookeeperlocalhost:2181--create--topickafka_test--replication-factor3--partition3查看Top......
  • EasyPoi操作Excel
    目录​​一、前言​​​​二、使用​​​​1、导入以下依赖​​​​2、导出示例​​​​2.1.使用定义好的模板​​​​2.2.直接将List>数据导出为excel示例(无需模板)​​​......
  • python文件操作
    python文件操作文件的概念文件就像是系统呈现在我们面前的能够使用硬盘的快捷方式,文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文......
  • 文件操作
    文件操作1.文件的概念 就是操作系统暴入给用户操作硬盘的快捷方式比如双击一个文件就是冲硬盘将数据加载到内存ctrl+s保存文件就是将内存的数据刷到硬盘保存......
  • gorm中的关联操作详解
    一对一belongto属于:可以理解为舔狗认为自己属于女神,而女神都不知道舔狗的存在typeGirlstruct{ Idint Namestring } typeDogstruct{ Idint Na......
  • 文件的修改与函数
    文件的修改计算机硬盘修改数据的原理硬盘有两个形态占有态和自由态我们在删除数据的时候,就是将原来的位置标记为自由态,在下载新数据落到这个自由态原本的标记位置就会......
  • python基础之文件处理
    python基础之文件处理目录一、什么是文件1.什么是文件、为什么要用文件二、文件操作的流程1.文件操作的流程2.资源回收与with方法三、文件的操作模式1.文件的读写模式2.......
  • python中文件操作相关基础知识
    python中文件操作相关基础知识文件的概念1,文件的概念?文件就是操作系统暴露给用户操作硬盘的快捷方式,当我们双击一个文件进行打开时,其实就是把硬盘中的数据加载......
  • 文件处理
    目录一.文件操作1.文件的概念2.代码打开文件的两种方式二.文件读写模式1.'r' 只读模式:只能读不能写2.'w' 只写模式:只能写不能看3.'a' 只追加模式:文件末尾添加......