Skip to content

Latest commit

 

History

History
186 lines (139 loc) · 3.21 KB

File metadata and controls

186 lines (139 loc) · 3.21 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0448
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

追加写入

回忆

  • 上次研究了配合命令行参数的读写
  • 通过参数传递数据
  • python文件接收参数
  • 具体写某个文件
  • 写入某些数据
  • 然后再读取出来
  • 可以从多个文件中读取么?🤔
  • 或者说可以跨文件进行操作么?🤔

准备环境

  • 首先把这两个文件写好
f = open("oeasy.txt", "wt")
f.write("12")
f.close()

f = open("o2z.txt", "wt")
f.write("123")
f.close()
  • 然后退出游乐场

图片描述

  • 想要把两个数值读出来求和

验证

  • 先读其中一个
f = open("oeasy.txt")
s_num = f.read()
i_num = int(s_num)
print(i_num)
f.close()
  • 尝试读取数值

图片描述

  • 结果

图片描述

  • 准备从两个文件中读取数值
    • 然后求和

继续

  • 然后复制代码
f = open("oeasy.txt")
s_num = f.read()
i_num = int(s_num)
print(i_num)
f.close()
f = open("o2z.txt")
s_num2 = f.read()
i_num2 = int(s_num2)
print(i_num2)
f.close()
sum = i_num + i_num2
print(sum)
  • 并且尝试运行

图片描述

  • 运行成功
  • 可以让文件名更加抽象么?

整理环境

  • 使用vim同时打开 3个文件
    • o0z.data
    • o1z.data
    • o2z.data
vi -O o{0..2}z.data
  • vi 编辑器
    • -O 纵向拆分 window
    • o{0..2}z 对应三个文件
      • o0z.data
      • o1z.data
      • o2z.data
  • 这3个文件
    • 扩展名 为 data
    • 编码格式 为 文本

录入数据

  • 进入之后

图片描述

  • :windo normal i123
    • windo 在每个 窗口(win) 中执行
    • normal 正常模式下
    • i 进入插入模式
    • 输出123

图片描述

  • :wqa
    • w 保存
    • q 退出
    • a 所有窗口

观察文件

ll o?z.data
  • ll 使用列表方式查看
    • o?z.data
      • ?是通配符
      • 代表一个任意字符

图片描述

  • 准备开始读取

打开多文件

i_sum = 0
for i in range(0,3):
    file_name = "o" + str(i) + "z.data"
    f = open(file_name)
    s_num = f.read()
    i_num = int(s_num)
    i_sum += i_num
    f.close()
print(i_sum)
  • 保存并运行
    • 运行结果 369
    • 成功 ❀

图片描述

  • 这程序看起来很傻
    • 但是能用

总结

  • 这次打开了多个文件
  • 用{0..2}这种方式建立通用文件名
  • 然后用遍历的方式读多个文件
  • 然后进行计算
  • 我们可以在 python 中执行 python 程序么
  • 就是执行 shell 里的命令
  • 可以么?🤔
  • 下次再说 👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。