day 009

day 09

01.文件处理

  1. 打开

    文件路径--》打开模式--》write

    f=open(r'文件路径','打开模式',encoding='文本编码格式')

  2. 修改/读取文件

    1. 写入f.write('''写入文件内容''')
    2. 读取f.read()
  3. 保存文件

    f.flush() # 快速保存

  4. 关闭文件

    python解释器是一个软件,对文件的操作需要通过操作系统来完成

    f.close # 告诉操作系统关闭文件

02.文件的三种打开模式

  1. r read #读取文件内容 只读
  2. w write #写入文件内容(覆盖式) 只写入
  3. a append #追加写入文件内容 只写入
    1. t rt/wt/at 对文本文件操作
    2. b rb/wb/ab 对多媒体文件(图片、音频、视频)操作,文件为二进式模式不需要制定字符编码

03.绝对路径和相对路径

  1. 从最盘符开始
  2. 执行文件所在文件夹下的文件名,执行文件和打开文件要处于同一个文件夹下

04.with管理文件上下文

自动关闭 with open()as f: 在缩进代码执行结束后自动关闭文件(接触操作系统的占用)

如在缩进中将文件内容作为变量值符只给一个变量名,在关闭文件后定义的变量还是存在于内存中

05.文件的高级应用(尽量不要使用)

  1. 可读可写

    1. r+
    2. w+
    3. a+
  2. 光标移动

    1. 一个字节表示8个二进制数,一个字符就是你看到的一个字符,不一定由几个字节组成,英文1个中文3个

    2. 一字节为单位移动的

      1. seek;

        with open('test.py','rb') as fr:
          fr.seek(3)  # 移动了三个字节,一个中文或三个英文字母。默认从头开始
          # whence;# 规定只有0、1、2三种模式
        	fr.seek(3,0)  # 0从开头移动3位
          print(fr.read().decode('utf8'))
          fr.seek(3, 1)  # 1从当前位置开始移动3位
          print(fr.read().decode('utf8'))
          fr.seek(0, 2)  # 2在文件尾部
          print(fr.read())
        
      2. tell:告诉你当前所在位置

        with open('test.py', 'rb') as fr:
        #     fr.seek(3, 0)
        #     print(fr.tell())
        
      3. truncate:截断

        with open('test.py','ab') as fa:
          fa.truncate(2)  # 将两个字符之后的内容删除
        
    3. 一字符为单位移动光标

      # read
      with open('test.py','r',encoding='utf-8) as fr:
                print(fr.read(3))  # 表示从第三个字符开始读取,不加默认读取所有 # ‘中’和‘a’都是一个字符
      
posted @ 2019-09-18 18:57  🍞面包🍞  阅读(129)  评论(0编辑  收藏  举报