当前位置: 首页 > news >正文

第10章 文件和异常

目录

  • 1. 从文件中读取数据
    • 1.1 读取整个文件
    • 1.2 逐行读取
    • 1.3 创建一个包含文件各行内容的列表
  • 2. 写入文件
    • 2.1 写入空文件
    • 2.2 写入多行
    • 2.3 附加到文件
  • 3. 异常
    • 使用try-except-else代码块
  • 4. 存储数据
    • 使用json.dump()和json.load()

1. 从文件中读取数据

1.1 读取整个文件

with open("messages.txt") as message:content = message.read()
print(content)

1.2 逐行读取

with open("messages.txt") as message:for line in message:print(line)

1.3 创建一个包含文件各行内容的列表

  • 等效于逐行读取
with open("messages.txt") as message:content = message.readlines()
print(content)

2. 写入文件

2.1 写入空文件

  • open()的模式设置
    • “r”:只读(默认)
    • “w”:只写
    • “a”:附加
    • “r+”:读写
with open("messages.txt", "w") as message:message.write("123")

2.2 写入多行

with open("messages.txt", "w") as message:message.write("ABC\n")message.write("123")

2.3 附加到文件

  • 附加:不覆盖原文件,在文件末尾添加文本
with open("messages.txt", "a") as message:message.write("abc")

3. 异常

使用try-except-else代码块

  • 相当于try-catch-else
try:print(5/0)
except ZeroDivisionError:print("Error")
else:print("Finish")
  • try:尝试的代码块
  • except:出现相应异常时执行的代码块
    • 可将代码块设置成pass,进而跳过异常处理
  • else:无上述异常时执行的代码块

4. 存储数据

使用json.dump()和json.load()

import jsonnumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]with open("numbers.json", "w") as f:json.dump(numbers, f)with open("numbers.json") as f:print(json.load(f))
http://www.lryc.cn/news/224994.html

相关文章:

  • 【云栖2023】张治国:MaxCompute架构升级及开放性解读
  • 【经验模态分解】4.信号由时域向频域的转换
  • STM32的M4内核在keil上面float访问就hard_fault原因
  • 【LeetCode】217. 存在重复元素
  • 【Redis缓存架构实战常见问题剖析】
  • mac M2 pytorch_geometric安装
  • 【C++】异常 智能指针
  • 切换数据库的临时表空间为temp1 / 切换数据库的undo表空间为 undotbs01
  • react: scss使用样式
  • JAVA深化篇_36—— Java网络编程中的常用类
  • python操作链接数据库和Mysql中的事务在python的处理
  • 【qemu逃逸】XCTF 华为高校挑战赛决赛-pipeline
  • muduo源码剖析之TcpClient客户端类
  • C语言——switch语句判断星期
  • 栈回溯之CmBacktrace
  • node插件MongoDB(二)——MongoDB的基本命令
  • 【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx
  • Flink -- 状态与容错
  • Linux C语言进阶-D15递归函数和函数指针
  • LeetCode算法心得——全排列(回溯型排列)
  • 读取W25Q64的设备ID时输出0xff
  • 【Docker】Docker 网络
  • Flutter学习:使用CustomPaint绘制路径
  • 软件模拟SPI协议的理解和使用编写W25Q64
  • SQLI手动注入和python sqlmap代码注入
  • MemcachedRedis构建缓存服务器 (数据持久化,主从同步,哨兵模式)
  • Python语法基础(变量 注释 数据类型 输入与输出 运算符 缩进)
  • linux espeak语音tts;pyttsx3 ubuntu使用
  • 小白该如何学习Linux操作系统?
  • 2023双十一:实体门店闯入,第二战场全面开战