python-26-零基础自学python-如何创建文件、读取数据、处理多个文件及程序异常处理等

学习内容:《python编程:从入门到实践》第二版第10章

知识点:

程序异常如何处理?try-except-else

多个文件处理

创建文件:在文件中储存数据

练习内容:

练习10-8:猫和狗 创建文件cats.txt和dogs.txt,在第一个文件中至少存储三只猫的名字,在第二个文件中至少存储三条狗的名字。编写一个程序,尝试读取这些文件,并将其内容打印到屏幕上。将这些代码放在一个try-except代码块中,以便在文件不存在时捕获FileNotFound错误,并显示一条友好的消息。将任意一个文件移到另一个地方,并确认except代码块中的代码将正确执行。

练习10-9:静默的猫和狗 修改你在练习10-8中编写的except代码块,让程序在任意文件不存在时静默失败。

我的代码&运行结果:

filename = 'cats.txt'
with open(filename,'w') as file_object:file_object.write('rongrong\n')file_object.write('maomao\n')file_object.write('xiluo\n')filename = 'dogs.txt'
with open(filename,'w') as file_object:file_object.write('pudding\n')file_object.write('little black\n')file_object.write('snow\n')def print_contents(filename):try:with open(filename) as file_object:contents = file_object.read()except FileNotFoundError:print(f"{filename}文件不存在")passelse:print(f"文件内容是:{contents}")filenames = ['cats.txt','dogs.txt','rabbit.txt']
for filename in filenames:print_contents(filename)

 运行结果

注意点:

1.创建新文件夹时,以下这行代码中w没有加引号,这是常错点;

另一个常错点是:file_object 忘记下划线!!!

with open(filename,'w') as file_object:

2.error的名字在新的程序中不是FileNotFound,而是FileNotFoundError,见下图提示

 3.做本题时为了复习,创建文件夹用的是 with open(filename,‘w’)as file_object:的方法

write在文件中输入内容。

4.定义一个方法,也就是打印文件内容的程序,即 def print_contents(filename):

这里解答我上次提出的问题,方法的使用不用在类class里面依然适用。

5.try except else中,except容易拼写错误

except中为了不出问题,加上pass,按理说不加也可

6.多个文件处理中,文件列表 使用for filename in filenames:进行遍历,

7.最后调用打印方法的时候,不需要句点法,而是直接用print_contents(filename)就可以使用,也一定程度上解决之前关于def函数 如果不在类里面的调用方式的问题。

练习10-9:静默的猫和狗 修改你在练习10-8中编写的except代码块,让程序在任意文件不存在时静默失败。

这个只需要改一行代码,except里面改为pass即可

filename = 'cats.txt'
with open(filename,'w') as file_object:file_object.write('rongrong\n')file_object.write('maomao\n')file_object.write('xiluo\n')filename = 'dogs.txt'
with open(filename,'w') as file_object:file_object.write('pudding\n')file_object.write('little black\n')file_object.write('snow\n')def print_contents(filename):try:with open(filename) as file_object:contents = file_object.read()except FileNotFoundError:#print(f"{filename}文件不存在")这里加井号,下面变成pass即可,这样处理可以不显示passelse:print(f"文件内容是:{contents}")filenames = ['cats.txt','dogs.txt','rabbit.txt']
for filename in filenames:print_contents(filename)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv10改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(解决低FLOPs陷阱)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制,这个论文中介绍了一个名为ParameterNet的新型设计原则,它旨在在大规模视觉预训练模型中增加参数数量,同时尽量不增加浮点运算&#x…

PyTorch复现PointNet——模型训练+可视化测试显示

因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络 论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已。 我是在Anaconda下创建一个新的…

Python——使用Seaborn钻石数据可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 导入数据 📍 通过info函数查看所有列数据的类型信息 2️⃣ 导入Seaborn工具包 📍 set_context 设置图形绘制时的上下文参数 📍 set_style 设置绘图风格 📍 set_palette 设置图标全局颜色…

CentOS 设置手动同步指定NTP时钟服务器

1. 文件上传至服务器 2.进入文件路径 3.查看文件名称 4.安装rpm包 注意执行顺序 1,3,2 5.启动ntp并设置开机自启 6.配置ntp配置文件 修改为时间服务器ip(同时要删除或注释掉其他三个server开头的外网的配置,防止因为外网不通导致…

C++基础学习笔记

1.命名空间(namespace) 1.什么是命名空间&命名空间的作用 1.在C/C中,变量、函数、类都是大量存在的,这些变量等的名称将都存在于全局作用域中,就会导致很多的命名冲突等。使用命名空间的目的就是对标识符的名称进行本地化,以…

自动驾驶革命:商汤科技突破性大模型UniAD震撼登场

自动驾驶革命:商汤科技突破性大模型UniAD震撼登场! 在人工智能的浪潮中,自动驾驶技术一直是科技巨头们竞相追逐的圣杯。而今,商汤科技联合上海人工智能实验室与武汉大学,以一篇名为"Planning-oriented Autonomou…

AI in Finance 金融领域AI应用-基于DeepNLP AI App Store 真实用户评论打分和排名

AI在金融领域应用 AI in Finance 金融服务领域的AI应用和传统的金融智能应用不同。传统金融智能应用包括如风险评估 (Risk assessment), 风险管理(Risk management), 欺诈检测 (Fraud Detection)等等。 通用AI大模型和人工智能应用如ChatGPT&#xff0c…

p12初步认识c语言

1.初识c语言 什么是c语言 c语言是一门计算机语言 计算机语言是什么 人和计算机交流语言 c/c/JAVA/python 语言发展: 二进制语言 硬件-电-正电/负电 1010001010101010101010101010手册 科学家 1010100010-ADD -助记符-汇编语言 B语言 C语言 C、---高级…

大白话讲解AI大模型

大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的?如果训练私有化模型 模型:model 语料库:用于训练模型的数据 大模型的发展 详细信息来源:DataLearner 2022年11月底…

关于 RK3588刷镜像升级镜像”没有发现设备“ 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140287339 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

企业资产管理系统带万字文档公司资产管理系统java项目java课程设计java毕业设计

文章目录 企业资产管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档(9.9¥带走) 企业资产管理系统 一、项目演示 企业资产管理系统 二、项目介绍 语言:java 数…

javaweb学习day1《HTML篇》--新浪微博(前端页面的创建思路及其HTML、css代码详解)

一、前言 本篇章为javaweb的开端,也是第一篇综合案例,小编也是看着黑马程序员的视频对里面的知识点进行理解,然后自己找一个新浪微博网页看着做的,主要还是因为懒,不想去领黑马程序员的资料了。 小编任务javaweb和ja…

力扣-dfs

何为深度优先搜索算法? 深度优先搜索算法,即DFS。就是找一个点,往下搜索,搜索到尽头再折回,走下一个路口。 695.岛屿的最大面积 695. 岛屿的最大面积 题目 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相…

华为HCIP Datacom H12-821 卷33

1.判断题 缺省情况下,华为AR路由器的VRRP运行在抢占模式下 A、对 B、错 正确答案: A 解析: 无 2.判断题 一个Route-Policy下可以有多个节点,不同的节点号用节点号标识,不同节点之间的关系是"或"的关…

禁用华为小米?微软中国免费送iPhone15

微软中国将禁用华为和小米手机,要求员工必须使用iPhone。如果还没有iPhone,公司直接免费送你全新的iPhone 15! 、 这几天在微软热度最高的话题就是这个免费发iPhone,很多员工,收到公司的通知。因为,登录公司…

如何指定多块GPU卡进行训练-数据并行

训练代码: train.py import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, Dataset import torch.nn.functional as F# 假设我们有一个简单的文本数据集 class TextDataset(Dataset):def __init__(self, te…

Nginx中文URL请求404

这两天正在搞我的静态网站。方案是:从思源笔记Markdown笔记,用MkOcs build成静态网站,上传到到Nginx服务器。遇到一个问题:URL含有中文会404,全英文URL则正常访问。 ‍ 比如: ​​ ‍ 设置了utf-8 ht…

【Python基础】代码如何打包成exe可执行文件

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、安装PyInstaller三、使用PyInstaller打包四、验证打包是否成功五、总结 一、前言 本文介绍如何…

Linux C语言基础 day8

目录 思维导图: 学习目标: 学习内容: 1. 字符数组 1.1 二维字符数组 1.1.1 格式 1.1.2 初始化 1.1.3 二维字符数组输入输出、求最值、排序 2. 函数 2.1 概念 关于函数的相关概念 2.2 函数的定义及调用 2.2.1 定义函数的格式 2.3…

数据采集:如何使用八爪鱼采集BOSS直聘职位数据

大家好,我是水哥! 今天给大家分享的是数据采集实战:使用「八爪鱼」第三方工具来采集 BOSS 直聘上的数据分析职位数据。 接下来,我们详细看一看。 不重复造轮子 在工作中,我们一定要形成一个认知,能用第…