当前位置: 首页 > 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.lryc.cn/news/585679.html

相关文章:

  • linux中cmake编译项目
  • 5G标准学习笔记15 --CSI-RS测量
  • Next知识框架、SSR、SSG和ISR知识框架梳理
  • SwiGLU是什么:Swish激活函数和门控线性单元(GLU)机制的激活函数
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛C题 基于Quantum Boosting的二分类模型问题
  • 实时数仓和离线数仓还分不清楚?看完就懂了
  • defer关键字
  • PHT-CAD 笔记
  • 你见过的最差的程序员是怎样的?
  • docker设置代理
  • 秋招小白学数据结构-1-数据结构前置知识
  • 嵌入式八股文之 GPIO
  • 深入解析 TCP 连接状态与进程挂起、恢复与关闭
  • Elasticsearch 滚动(Scroll)用法、使用场景及与扫描(Scan)的区别
  • 常见的数集 N,Z,R,Q,C
  • 微积分核心考点全解析
  • 二维数组打乱元素
  • 【环境配置】KAG - Windows 安装部署
  • 开源界迎来重磅核弹!月之暗面开源了自家最新模型 K2
  • 从代码学习深度学习 - 针对序列级和词元级应用微调BERT PyTorch版
  • T16IZ遥控器教程__遥控器与无人机对频
  • spring-boot项目集成spring-ai
  • 基于k8s环境下pulsar高可用测试和扩缩容(下)
  • Web攻防-SSTI服务端模版注入利用分类语言引擎数据渲染项目工具挖掘思路
  • 华为认证笔试考试中心/VUE考场考试规则与环境欣赏
  • 智慧水文站系统:实时监控、全要素监测与AI辅助
  • 爬虫练习1
  • 数据库报错:Column ‘xxx‘ in field list is ambiguous
  • pyQt基础4(对话框)
  • JAX study notes[16]