Skip to content

Latest commit

 

History

History
210 lines (150 loc) · 4.81 KB

414-189722-打开文件.sy.md

File metadata and controls

210 lines (150 loc) · 4.81 KB
show version enable_checker
step
1.0
true

打开文件

回忆

  • 颜文字是kaomoji
    • 把字符变成一种图画的方法
    • 一层叠一层
    • 很多好玩儿的kaomoji是一层层堆叠起来的meme

图片描述

  • 虚拟的表情也
    • 在真实世界有巨大影响
      • 一步步地影响

图片描述

  • 这些文字符号
    • 是如何存储进入硬盘文件中的呢?🤔
  • 学到现在也没有解决 ABC 当时很大的问题
    • 读写文件
  • python 能读写文件吗?🤔

搜索

图片描述

  • 搜到了函数叫做 open

  • 先去游乐园

  • help(open)

查看帮助

图片描述

  • 这是一个内建的函数
  • 属于 io 模块
  • 不用引入任何东西
  • 有一大堆的参数列表
  • 最重要的是第一个
  • 具体打开哪个文件

建立文件

  • 新建一个终端 Terminal 的 Tab 标签页

图片描述

  • /home/shiyanlou
    • ls -lah > oeasy.txt
      • ls 列出文件和目录
        • l:long format 完整形式
        • a:包括隐藏文件
        • h:human readable 存储容量使用人类友好的(k,m,g)
      • > oeasy.txt
        • 输出重定向到oeasy.txt
    • cat oeasy.txt
  • 生成 oeasy.txt 的位置就是运行 python3 的位置
  • 然后在游乐场里打开他

图片描述

  • 注意文件名前后要有双引号
  • 怎么理解这句话呢?

读取文件

图片描述

具体操作

  • 把 open 函数的返回值赋给一个 f
  • 然后调用 f.read()
  • 就可以把"oeasy.txt"中的内容读出来了

图片描述

  • 我想再次读取可以么?

再次读取

  • 尝试再次读取

图片描述

  • 这是一个流
  • 流到最后流光了
  • 想要再接收已经不能了
  • 再次打开再接收可以么?

图片描述

  • 但是这样打开一个文件流
  • 又打开一个文件流
  • 只开不关会不会有问题?
  • 怎么关呢?

关闭文件

  • open 的反义词是 close
  • 试试 f.close()
  • 成功

图片描述

文件操作流程

  1. 打开文件流
    • f = open("oeasy.txt")
  2. 读取文件
    • f.read()
  3. 关闭文件流
    • f.close()
  • 文件流打开了之后
  • python3 不知道你还用不用
    • 就会一直给你留着
    • open之后不close
    • 就会造成内存泄漏
    • 多了之后
    • 内存就不够了

  • 现在有一罐子的橘子
  • 就像是一堆内容的文件

图片描述

  • 我们需要做的就是打开盖子
    • container.open()
  • 倒出橘子水
    • container.read()
  • 合上盖子
    • container.close()
  • 神奇的是
    • 这文件你什么时候再打开
    • 还能倒出来
    • 这很神奇
  • 说到底
    • 什么是流?

  • 流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具
  • 在流中,定义了一些处理数据的基本操作,如
    • 读取数据
    • 写入数据
  • 程序员是对流进行所有操作的
    • 而不用关心流的另一头数据的真正流向

图片描述

  • 流不但可以处理文件
    • 还可以处理动态内存
    • 网络数据等多种数据形式
      • 文件流
      • 数据流
      • 信息流
  • 以前我们也用过流的

stdin和stdout

图片描述

  • stdin
    • 标准输入流
  • stdout
    • 标准输出流

古代的流

  • 汴水流 泗水流
  • 流到瓜洲古渡头
  • 水无常形改道走
  • 夺淮入海不回头

图片描述

  • 那么今天呢?

工业流水线(pipe-line)

图片描述

  • 仿佛一切都快速地流动了起来

图片描述

  • 我们也流向本实验的结尾吧

总结

  • 这次研究了操作文件
  • 操作文件流分成三步
    • 打开文件流
    • 读取文件流
    • 关闭文件流
    • 读写文件
  • 这文件流太猛了
  • 一下子全出来了
  • 咱能细水长流么?🤔
  • 下次再说 👋