当前位置: 首页 > 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))

相关文章:

第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 …...

【云栖2023】张治国:MaxCompute架构升级及开放性解读

简介: 本文根据2023云栖大会演讲实录整理而成,演讲信息如下 演讲人:张治国|阿里云智能计算平台研究员、阿里云MaxCompute负责人 演讲主题:MaxCompute架构升级及开放性解读 活动:2023云栖大会 MaxCompute发展经历了…...

【经验模态分解】4.信号由时域向频域的转换

/*** poject 经验模态分解及其衍生算法的研究及其在语音信号处理中的应用* file 傅里叶变换与小波变换* author jUicE_g2R(qq:3406291309)* * language MATLAB* EDA Base on matlabR2022b* editor Obsidian(黑曜石笔记软件&#…...

STM32的M4内核在keil上面float访问就hard_fault原因

使用 Keil MDK(Microcontroller Development Kit)开发时,出现硬件故障(hard fault)通常是由于访问浮点数(float)数据类型时,浮点单元配置不正确或浮点单元启用导致的。以下是一些可能…...

【LeetCode】217. 存在重复元素

217. 存在重复元素 难度:简单 题目 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums [1,2,3,1] 输出&#xff1…...

【Redis缓存架构实战常见问题剖析】

文章目录 一、Redis缓存架构实战剖析1.1、大规模的商品缓存数据冷热分离机制1.2、缓存击穿导致线上数据压力暴增解决方案1.3、缓存穿透及其解决方案剖析1.4、突发性的热点缓存数重建导致系统压力暴增问题分析1.5、Redis分布式锁解决缓存与数据库双写不一致问题剖析1.6、利用多级…...

mac M2 pytorch_geometric安装

我目前的环境是mac M2,我在base环境中安装了pytorch_geometric,仅仅做测试用的,不做真正跑代码的测试 首先我的base环境的设置如下: pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.…...

【C++】异常 智能指针

C异常 & 智能指针 1.C异常1.1.异常的抛出与捕获1.2.异常体系1.3.异常安全与规范1.4.异常优缺点 2.智能指针2.1.RAII2.2.智能指针的使用及原理2.2.1.auto_ptr2.2.2.unique_ptr2.2.3.shared_ptr2.2.4.shared_ptr的循环引用问题 & weak_ptr 2.3.定制删除器 1.C异常 C异常…...

切换数据库的临时表空间为temp1 / 切换数据库的undo表空间为 undotbs01

目录 ​编辑 一、切换临时表空间 1、登录数据库 2、查询默认临时表空间 3、创建临时表空间temp1(我们的目标表空间) 4、修改默认temp表空间 5、查询用户默认临时表空间 6、命令总结: 二、切换数据库的undo表空间 1、查询默认undo表…...

react: scss使用样式

方式一&#xff1a; 将样式作为模块使用 //List.tsx import styles from /styles/apppublish.module.scss <div className{styles.contentOverflow}></div>//apppublish.module.scss .contentOverflow {height: 100%;overflow-y: auto;display: flex;flex-directi…...

JAVA深化篇_36—— Java网络编程中的常用类

Java网络编程中的常用类 Java为了跨平台&#xff0c;在网络应用通信时是不允许直接调用操作系统接口的&#xff0c;而是由java.net包来提供网络功能。下面我们来介绍几个java.net包中的常用的类。 InetAddress的使用 作用&#xff1a;封装计算机的IP地址和DNS&#xff08;没…...

python操作链接数据库和Mysql中的事务在python的处理

python操作数据库 pymysql模块: pip install pymysql作用:可以实现使用python程序链接mysql数据库&#xff0c;且可以直接在python中执行sql语句 添加操作 import pymysql #1.创建链接对象c conn pymysql.Connect(host127.0.0.1,#数据库服务器主机地址port3306, #mysql的端口…...

【qemu逃逸】XCTF 华为高校挑战赛决赛-pipeline

前言 虚拟机用户名: root 无密码 设备逆向与漏洞分析 程序没有去符合, 还是比较简单. 实例结构体如下: 先总体说一下流程: encode 为 base64 编码函数, decode 为 base64 解码函数. 然后 encPipe 和 decPipe 分别存放编码数据和解码数据, 分别有四个: 其中 EncPipeLine 中…...

muduo源码剖析之TcpClient客户端类

简介 muduo用TcpClient发起连接&#xff0c;TcpClient有一个Connector连接器&#xff0c;TCPClient使用Conneccor发起连接, 连接建立成功后, 用socket创建TcpConnection来管理连接, 每个TcpClient class只管理一个TcpConnecction&#xff0c;连接建立成功后设置相应的回调函数…...

C语言——switch语句判断星期

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int day 0;scanf("请输入1-7之间的整数&#xff1a;%d",&day);switch(day){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf(&quo…...

栈回溯之CmBacktrace

简介 CmBacktrace &#xff08;Cortex Microcontroller Backtrace&#xff09;是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位&#xff0c;错误原因自动分析的开源库。主要特性如下&#xff1a; 支持的错误包括&#xff1a; 断言&#xff08;assert&#xff09;…...

node插件MongoDB(二)——MongoDB的基本命令

文章目录 前言1. 数据库命令&#xff08;1&#xff09;显示所有数据库&#xff08;2&#xff09;切换指定数据库&#xff08;若没有自动创建&#xff09;&#xff08;3&#xff09;显示当前所在数据库&#xff08;4&#xff09;删除当前数据库 2.集合&#xff08;表名&#xff…...

【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx

在github上&#xff0c;创建了token&#xff0c;推送代码报没权限 #设置token git remote set-url origin <your.token>github.com/<your.name>/hello-git.git#推送代码 #git push -u origin main remote: Permission to xxx/hello-git.git denied to xxx. fatal:…...

Flink -- 状态与容错

1、Stateful Operations 有状态算子&#xff1a; 有状态计算&#xff0c;使用到前面的数据&#xff0c;常见的有状态的算子&#xff1a;例如sum、reduce&#xff0c;因为它们在计算的时候都是用到了前面的计算的结果 总结来说&#xff0c;有状态计算并不是独立存在的&#xf…...

Linux C语言进阶-D15递归函数和函数指针

递归函数 指一个函数的函数体中直接或间接调用了该函数本身 执行过程分为两个过程&#xff1a; 递推过程&#xff1a;从原问题出发&#xff0c;按递归公式递推从未知到已知&#xff0c;最终达到递推终止条件 回归阶段&#xff1a;按递归终止条件求出结果&#xff0c;逆向逐步…...

避坑指南:在Arch上为笔记本双显卡(如NVIDIA Optimus)配置驱动,告别黑屏和卡Clean

Arch Linux笔记本双显卡配置避坑指南&#xff1a;从黑屏到完美渲染 每次在Arch Linux上折腾NVIDIA双显卡配置&#xff0c;总有种在雷区跳舞的刺激感——一步错就可能陷入黑屏的深渊。特别是当你在咖啡厅刚装完驱动&#xff0c;自信满满地重启后&#xff0c;迎接你的却是那个令人…...

Python量化分析新利器:3分钟掌握Mootdx通达信数据读取

Python量化分析新利器&#xff1a;3分钟掌握Mootdx通达信数据读取 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx Mootdx是一个强大的Python开源库&#xff0c;专门用于读取通达信本地数据文件&am…...

从Java转行大模型应用,基于 BLIP 的图生文实战案例

一、项目简介 BLIP 是 Salesforce 开源的多模态视觉语言模型&#xff0c;兼顾图像理解、图文检索、图像字幕&#xff08;Image Caption&#xff09;、VQA 视觉问答等能力。本案例实现&#xff1a;输入任意图片 → 自动生成精准自然的中文 / 英文描述文案&#xff0c;轻量化部署…...

NVIDIA Profile Inspector终极指南:如何通过驱动级调优彻底解决游戏卡顿问题

NVIDIA Profile Inspector终极指南&#xff1a;如何通过驱动级调优彻底解决游戏卡顿问题 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否遇到过游戏帧率突然骤降、画面出现撕裂&#xff0c;或者操…...

你的竞争对手已经用 AI 降本增效,你还在纠结要不要投入?——2026企业大模型落地与Token降本实战指南

站在2026年4月的门槛上&#xff0c;企业间的竞争维度已经发生了根本性偏移。 当部分企业还在纠结AI投入的ROI&#xff08;投资回报率&#xff09;时&#xff0c;领先者早已完成了从“技术试水”到“全量智能”的跨越。 根据2026年一季度的最新数据&#xff0c;中国外贸枢纽义乌…...

保姆级教程:在RV1126开发板上跑通LVGL官方Linux FB例程(含Makefile修改详解)

从零到一&#xff1a;RV1126开发板LVGL帧缓冲(FB)例程全流程实战 刚拿到RV1126开发板时&#xff0c;最令人兴奋的莫过于让炫酷的图形界面跑起来。LVGL作为轻量级嵌入式图形库&#xff0c;其官方Linux帧缓冲(FB)例程是验证显示功能的绝佳起点。但实际操作中&#xff0c;从代码下…...

告别词库迁移烦恼:深蓝词库转换让你轻松在30+输入法间自由切换

告别词库迁移烦恼&#xff1a;深蓝词库转换让你轻松在30输入法间自由切换 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾为切换输入法而烦恼&#xff1f;辛…...

大模型求职必看!26届春招、27届实习秋招时间线+社招新趋势全解析,先上岸再调座!

写这篇文章的初衷很简单。大模型行业这两年的变化太快了&#xff0c;快到很多同学还没搞清楚上一轮的招聘逻辑&#xff0c;下一轮就已经开始了。我想把 2026 年各个求职阶段的时间节奏理清楚&#xff0c;同时也聊一些我自己的观察和思考&#xff0c;希望对正在准备求职的你有一…...

2025届毕业生推荐的五大降重复率方案实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作里面&#xff0c;AIGC也就是人工智能生成内容&#xff0c;其过度运用容易造成文本…...

3步掌握JiYuTrainer:在极域电子教室中实现自由学习

3步掌握JiYuTrainer&#xff1a;在极域电子教室中实现自由学习 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾因极域电子教室的全屏控制而无法同时查阅资料&#xff1f;…...