• day08 基本文件操作/绝对路径与相对路径/文本文件打开模式之r,w,a,文件打开模式之b模式 with管理文件操作上下文


    二: 文件的基本操作

       1 什么是文件?
      文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位
      文件的操作核心就:读、写
      即我们只需要对于进行读写操作,就是对操作系统发起请求,然后由操作系统将用户或者应用程序
      对文件的读写操作转换成具体的硬盘指令(比如控制盘片转动,控制机械手臂移动来读写数据)

      2 为什么要有文件?
      因为内存无法永久保存数据,但凡我们想要永久保存数据都需要保存到硬盘中,
      而操作文件就可以实现对硬件的操作

      3 如何用文件

      name='egon'
      pwd='123'
      把内存中的数据存储到硬盘中去

      l=[1,2,3]
      l.append(4)
      l.append(5)
      print(l)

      把硬盘中的数据读到内存中
      rawstring
      f=open(r'E:SH_fullstack_s2day08a.txt',mode='r') # 向操作系统发起请求,要求操作系统打开文件,占用操作系统的资源
      f1=10
      f2='aaaa'
      f2.index() f=open open 占的是应用程序的空间
      print(f)
      y=2
      data=f.read() # 向操作系统打开发起读请求,会被操作系统转成具体的硬盘操作,将内容由硬盘读入内存
      print(data)

      del f
      f.close() #向操作系统发起请求,要求操作系统关闭文件,回收系统资源
      print(f)
      f.read()

      关键三步

      f=open(r'路径',mode='r')#向操作系统发起请求

      data=f.read()

      print(data)

      f.close()

      总结:
      1、打开文件
      2、读写
      3、关闭

    三:   绝对路径和相对路径

      绝对路径:从盘符开始写的一个完整的路径  

      相对路径:相对于当前执行文件所在的文件夹开始找

      f=open(r'a.txt)

      控制读写文件内容的结果有两种:t模式text,b模型bytes
      注意:
      1、t与b这两种模式均不能单独使用,都需要与r/w/a之一连用
      2、默认的内容格式是t
      3、只有文本文件才能用t模式,也只有文本文件才有字符编码的概念

      操作文件的基础模式有三种:
      1、r,默认的
      2、w
      3、a

    四:read,只读模式
    1、只能读,不能写
    2、在文件不存在时,会报错,在文件存在的时候会将文件指针移动到开头

    f=open(r'b.txt',mode='rt',encoding='utf-8')
    data1=f.read()
    print('第一次:',data1)
    print(type(data1))
    
    data2=f.read() #文件读的时候指针一点一点往后移
    print('第二次:',data2)
    print(f)
    f.close()
    
    f=open(r'b.txt',mode='rt',encoding='utf-8')
    data2=f.read()
    print('第二次:',data2)
    f.close()
    
    f=open(r'b.txt',mode='rt',encoding='utf-8')
    data2=f.read()
    print('第二次:',data2)
    f.close()

     只读模式的其他两种用法

    f=open(r'b.txt',mode='rt',encoding='utf-8')
    print(f.readable())
    print(f.readline(),end='')
    print(f.readline(),end='')
    
    lines=f.readlines()
    print(lines)
    f.close()

    五:只写模式

    w:只写模式
    1、只能写,不能读
    2、在文件不存在时会创建空文件,在文件存在的时候会将文件内容清空

    f=open(r'c.txt',mode='wt',encoding='utf-8')
    f.write('你好啊我的天
    你好啊我的地
    啊啊啊啊啊啊
    ') #文件是先干没,然后把文件内容写进去

    f=open(r'c.txt',mode='wt',encoding='utf-8')
    f.write('你好啊我的天 你好啊我的地 啊啊啊啊啊啊 ')
    f.write('4444 ')
    f.write('5555')

    只写模式的另外两种形式

    f=open(r'c.txt',mode='wt',encoding='utf-8')
    lines=['1111
    ','2222
    ','3333355
    ']
    # for line in lines:
    #     f.write(line)
    f.writelines(lines)    这一行相当于上面#两行
    f.close()
    

    六:a:只追加写模式
    1、只能写,不能读
    2、在文件不存在时会创建空文件,在文件存在的时候会将指针移动到文件末尾

    f=open('d.txt',mode='at',encoding='utf-8')
    print(f.readable())
    f.read()
    f.write('555555
    6666
    ')
    f.writelines(['77777
    ','8888888
    ','999999999
    ']) #相当于一个for 循环
    f.close()

    七:文件打开模式之b模式

    b:二进制模式
    注意:
    1、一定不能指定字符编码,只有t模式才与字符编码有关
    2、b是二进制模式,是一种通用的文件读取模式,因为所有的文件在硬盘中都是以二进制形式存放的

    f=open('egon.jpg','rb')
    data=f.read()
    print(type(data))
    f.close()
    

    边读边写

    f=open('oldsiji.mp4','rb')
    data=f.read()
    f.close()
    
    f=open(r'D:王苗鲁.mp4','wb')
    f.write(data)
    f.close()
    
  • 相关阅读:
    Solr4.8.0源码分析(12)之Lucene的索引文件(5)
    JAVA基础(1)之hashCode()
    Solr4.8.0源码分析(11)之Lucene的索引文件(4)
    检查数据不一致脚本
    索引的新理解
    数据库放到容器里
    动态规划
    每天晚上一个动态规划
    postgresql parallel join example
    名不正,则言不顺
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/9151943.html
Copyright © 2020-2023  润新知