show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次读取了外部命令的结果
- 可以得到
- cowsay的动物
- figlet的字体
- 当前的进程
- 所有的用户
- 你还能想到什么?
- 只要是shell能输出的东西
- 就可以流到文件里
- 然后用python给open了
- 读取出来
- open 函数有没有什么参数呢??🤔
- help(open)
- 默认的模式是
rt
- r - read - 读取
- t - text - 文本
- 另外有一种模式是
w
- w - write - 写入
- 模式就是一系列设定的套餐
- 比如飞机可以开启
- 对空模式
- 对地模式
- 格斗的拳手有
- 进攻模式
- 防御模式
- 手机可以有
- 正常模式
- 静音模式
- 飞行模式
- 按我们来看看文件流的写模式
- 打开文件流
- 把原来的文件内容清空
- 准备写入
- 关闭文件流
- 找一个原来有东西的文件
- 用写模式打开之后
- 写一些东西他就告诉你写了几个字节
- 写完了再关了
- 然后再去读取
- 原来的东西没有了
- 新的东西进去了
- 但是都在一堆
- 可以有个回车啥的么?
- 先写
- 写好了没有?
- 去 terminal 观察一下
- 字符
1
对应 ascii码31
- 字符
2
对应 ascii码32
- 字符
3
对应 ascii码33
- 读到头之后
- 还想从头再读怎么办?
- seek 就像磁带倒带子
- seek(0) 就是一直倒到头
- 流水再从头流一次
- seek 不但可以倒到头
- 也可以倒到任意指定的位置
- help(f.seek)
- 第二个参数是 whence 模式
- 0 - 从头开始 - 默认值 - 数值必须是 0 或正数
- 1 - 从当前位置开始 - 数值可正可负
- 2 - 从结束位置开始 - 数值一般为负
- 我们来试试
- 默认是没有问题的
- 还可以用 tell 得到当前流的位置
- seek 的时候报错了
- 报错是非常正常的!!!!
- 需要解决这个问题
- 搜索
- 照这个说法需要转化为 2 进制的打开 mode 模式
- 自己试试 rb 的话是否可以 whence=1?
- 这次我们真的写了文件
- 这非常令人激动
- 因为我可以用python语言写python程序了
- 这就是代码自动化的起点!!!!
- 方法是开启写模式
- 现在已知两个模式
- 读
- 写
- 读的时候还可以
- seek 到指定的位置
- tell 报位置
- 写完了之后都需要一个close操作
- 这close如何理解呢?🤔
- 下次再说 👋