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

7.11文件和异常

文件和异常

在这里插入图片描述

一:读取文件

在这里插入图片描述

1.读取文件的全部内容

from pathlib import Path path=Path('pi_digits.txt')
contents=path.read_text()
print(contents)
3.1415926535 8979323846 2643383279
from pathlib import Path path=Path('pi_digits.txt')
contents=path.read_text()
contents=contents.rstrip()  #rstrip() 能删除字符串末尾的空白
print(contents)
3.1415926535 8979323846 2643383279
## 读取文件内容时删除末尾的换行符
from pathlib import Path path=Path('pi_digits.txt')
contents=path.read_text().rstrip()
contents=contents.rstrip()  
print(contents)
3.1415926535 8979323846 2643383279

2.相对文件路径和绝对文件路径

在这里插入图片描述

3.访问文件中的各行—splitlines() 方法

在这里插入图片描述

from pathlib import Pathpath=Path('pi_digits.txt')
contents=path.read_text()lines=contents.splitlines()
for line in lines: print(line)
3.1415926535 8979323846 2643383279

4.使用文件的内容

from pathlib import Pathpath=Path('pi_digits.txt')
contents=path.read_text()lines=contents.splitlines()
## 创建一个字符串
pi_string = ''
for line in lines: pi_string += lineprint(pi_string) 
print(len(pi_string))
3.1415926535  8979323846  2643383279
36

5.包含 100 万位的大型文件

在这里插入图片描述

6.圆周率值中包含你的生日吗

在这里插入图片描述

birthday = input("Enter your birthday, in the form mmddyy: ")
if birthday in pi_string: print("Your birthday appears in the first million digits of pi!")
else: print("Your birthday does not appear in the first million digits of pi.")
Enter your birthday, in the form mmddyy: 0101
Your birthday does not appear in the first million digits of pi.

二:写入文件

在这里插入图片描述

1.写入一行 – write_text()

from pathlib import Path 
path = Path('programming.txt') 
path.write_text("I love programming.")
19

2.写入多行

from pathlib import Path 
contents = "I love programming.\n"
contents += "I love creating new games.\n"
contents += "I also love working with data.\n" 
path = Path('programming.txt') 
path.write_text(contents)## 会覆盖上次写的内容
78

在这里插入图片描述

三:异常-- try-except 代码块

1.处理 ZeroDivisionError 异常

在这里插入图片描述

2.使用 try-except 代码块

在这里插入图片描述

try: print(5/0) 
except ZeroDivisionError: print("You can't divide by zero!")
You can't divide by zero!

3.使用异常避免崩溃 && else 代码块

在这里插入图片描述

4.处理 FileNotFoundError 异常 – 文件没找着

在这里插入图片描述

5.分析文本

在这里插入图片描述

6.使用多个文件

在这里插入图片描述

在这里插入图片描述

7.静默失败

在这里插入图片描述

四:存储数据

当用户关闭程序时,几乎总是要保存他们提供的信息。

一种简单的方式是使用模块 json 来存储数据。

模块 json 让你能够将简单的 Python 数据结构转换为 JSON 格式的字符串

1.使用 json.dumps() 和 json.loads()

json.dumps() 来存储(写入)这组数

json.loads() 来读取它们

json.dumps() 函数接受一个实参,即要转换为 JSON 格式的数据

from pathlib import Path 
import json 
numbers = [2, 3, 5, 7, 11, 13] 
path = Path('numbers.json') ## json.dumps() 来存储
contents = json.dumps(numbers) 
path.write_text(contents)
20

在这里插入图片描述

from pathlib import Path 
import json 
path = Path('numbers.json') 
contents = path.read_text() ## json.loads() 来读取
numbers = json.loads(contents) 
print(numbers)
[2, 3, 5, 7, 11, 13]

2.保存和读取用户生成的数据

例子:提示用户在首次运行程序时输入自己的名字,并且在他再次运行程序时仍然记得他。

传统方法:

在这里插入图片描述

改进方法:

在这里插入图片描述

3.重构

在这里插入图片描述

传统方法:

在这里插入图片描述
改进方法:

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/274332.html

相关文章:

  • kafka kraft模式升级metadata.version
  • JVM--监控和故障处理工具
  • Oracle 高可用性与安全性
  • SpringCloud【OpenFeign】
  • 数据治理(管理)能力评估——解读2024数据治理与数据管理能力成熟度评估模型【附全文阅读】
  • 10款主流报销管理平台对比及推荐
  • Linux操作系统之进程间通信:命名管道
  • Linux编程练习题1:打印图形
  • python学习DataFrame数据结构
  • 制作一款打飞机游戏79:道具拾取系统
  • c++设计模式:简单工厂模式
  • C++STL-list
  • 游戏的程序员会不会偷偷改自己账号的数据?
  • 线性回归的从零开始实现(详解部分疑问)
  • 【三】ObservableCollection 与 List 的区别
  • RK3566/RK3568 Android11 CAN开发(内核配置+测试验证+安卓app开发)
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛C题 基于Quantum Boosting的二分类模型问题
  • 5G标准学习笔记15 --CSI-RS测量
  • 【龙泽科技】新能源汽车维护与动力蓄电池检测仿真教学软件【吉利几何G6】
  • 深入理解C语言内存空间、函数指针(三)(重点是函数指针)
  • Redis 主从复制及哨兵模式模拟部署
  • 3.检查函数 if (!CheckStart()) return 的妙用 C#例子
  • PBR渲染
  • 【网络安全】理解安全事件的“三分法”流程:应对警报的第一道防线
  • leaflet【十二】自定义图层——海量数据加载
  • 安全监测预警平台的应用场景
  • 机器学习数据集加载全攻略:从本地到网络
  • Git Submodule 介绍和使用指南
  • FS820R08A6P2LB——英飞凌高性能IGBT模块,驱动高效能源未来!
  • Vscode 下载远程服务器失败解决方法