【Python】文件操作和异常

Python基础

  • 读文件操作
  • 写文件操作
  • 异常
  • 异常处理
    • else 和 finally
  • 模块
  • 安装第三方包

使用 open() 方法打开一个文件,返回一个文件对象。对应 close() 就是文件关闭。

完整格式:open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
mode的参数有:r 读,r+ 读写,w 写—有内容就直接覆盖,w+ 读写,a 写—有内容就在末尾继续添加,a+ 读写,还有其它等等。
例如:
在这里插入图片描述

读文件操作

read:

在这里插入图片描述

readline 和 readlines:

在这里插入图片描述

for 循环读取文件:

在这里插入图片描述

写文件操作

写入文件使用 open 函数的 “w” 模式进行写入。write() 写入内容,flush() 刷新内容到硬盘中。
其中 w 模式,若文件不存在则创建新文件,若存在则会清空原有内容。
若不想覆盖原有内容,将模式 w ,换成模式 a 即可。
使用 close() 方法也可达到 flush() 效果。

例如:
在这里插入图片描述

异常

异常:程序运行中出现的错误。
例如:

在这里插入图片描述

异常处理

可以使用 try/except 语句来捕获异常:

try:print(1/0)
except Exception as e:print("出现bug")print(e)

运行结果:
在这里插入图片描述

else 和 finally

finally 里的代码,无论有没有异常都会执行,所以通常将文件资源关闭等代码放入到 finally 里。

try:print(m)
except Exception as e:print("出现bug")print(e)
else:print("没有异常则执行else里的代码")
finally:print("无论有无异常都执行finally里的代码")

在这里插入图片描述

运行结果:

在这里插入图片描述

无异常:

在这里插入图片描述

模块

简单地说,模块就是一段封装好的代码,一个 py 文件,我们可以直接使用。模块在使用前要导入,导入格式如下:

[ from 模块名] import [ 模块 | 类 | 变量 | 函数 | * ] [ as 别名]
其中 [ ] 可不写
常见形式有:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名

例如:

在这里插入图片描述

或者:

在这里插入图片描述

安装第三方包

包可以理解成众多 py 文件组成的文件夹。
按住 win + r,输入 cmd,调出命令行窗口,输入 pip install 包名,即可下载第三方包。
例如下载 numpy:

在这里插入图片描述

出现 successfully 即下载成功:

在这里插入图片描述

如果下载速度过慢,可使用下面格式:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

若使用的是 pycharm 编辑器,可在设置中直接导入:

在这里插入图片描述
在这里插入图片描述

点击 + 号,输入包名,勾选 options,输入 -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

安装成功:

在这里插入图片描述

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

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

相关文章

阿里面试总结

ThreadLocal 线程变量存放在当前线程变量中,线程上下文中,set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThreadLocals用来存储当前操作的ThreadLocal的引用及变量对象,把当前线程…

avro c++编译与使用

一、arvo介绍 Avro 是 Hadoop 中的一个子项目,也是一个数据序列化系统,其数据最终以二进制格式,采用行式存储的方式进行存储。 Avro提供了: 1)、丰富的数据结构。 2)、可压缩、快速的二进制数据格式。 3)、一个用来存储持久化数据…

Mac 每次重启终端都要重新配置mysql环境变量解决办法

1、问题 Mac 每次关闭终端后,mysql环境配置就失效了,需要重新配置mysql环境变量 2、解决方法 在 " ~/.zshrc "文件添加" source ~/.bash_profile "即可 vim ~/.zshrc source ~/.bash_profile 3、验证 退出终端后重新打开终端 mys…

算法 - 符号表-上

🏠个人主页:尘觉主页 文章目录 算法 - 符号表前言初级实现1. 链表实现无序符号表2. 二分查找实现有序符号表 二叉查找树1. get()2. put()3. 分析4. floor()5. rank()6. min()7. deleteMin()8. delete()9. keys()10. 分析 算法 - 符号表 前言 符号表&am…

说说虚拟化上部署Oracle RAC的那点注意事项

0.概述 目前在虚拟化上部署RAC主要是以下3个场景 1是VMWARE的虚拟化(私有云); 2是国产厂商基于KVM的虚拟化(私有云); 3是公有云,由云厂商给你提供虚拟主机和虚拟磁盘。 这里我只对前2个熟悉一些…

C++:MySQL的事务概念与使用(四)

1、事务的概念 定义:事务是构成单一逻辑工作单元的操作集合,要么完整的执行,要么完全不执行。无论发生何种情况,DBS必须保证事务能正确、完整的执行。 性质:事务的四大ACID性质。 原子性(Atomicity):一个事…

YOLOV8 + 双目测距

YOLOV8 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov8-stereo.py 4. 实验结果4.1 测距4.2 测距跟踪4.3 测距跟踪分割4.4 视频展示 相关文章 1. YOLOv5双目测距(python&…

qt环境搭建-镜像源安装Qt Creator(5.15.2)以及配置环境变量

前言: 版本:5.15.2 镜像源:ustc与清华 纯小白,找了半天的镜像源安装qtcreator,搞了半天结果安装的是最新的,太新的对小白很不友好,bug比较多,支持的系统也不全,口碑不…

华为海思2024春招数字芯片岗机试题(共9套)

huawei海思2024春招数字芯片岗机试题(共9套)(WX:didadidadidida313,加我备注:CSDN huawei数字题目,谢绝白嫖哈) 题目包含数字集成电路、System Verilog、Verilog2001、半导体制造技术、高级ASIC芯片综合、…

Python | Leetcode Python题解之第15题三数之和

题目: 题解: class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:n len(nums)nums.sort()ans list()# 枚举 afor first in range(n):# 需要和上一次枚举的数不相同if first > 0 and nums[first] nums[first - 1]:continu…

开启Java之旅——用Java实现简易的图书管理系统(24.4.7)

图书管理系统 一、设计思路 1、首先需要区分两类人,图书管理员和借书用户,不同的用户要展现不同的界面,利用继承和多态可以将其实现。 2、要将不同的操作封装起来,单独设计成为一个类,为了规范实现,需要…

解决前端精度丢失问题:后端Long类型到前端的处理策略

在Web开发中,我们经常遇到前后端数据类型不匹配的问题,特别是当后端使用大数据类型如Long时,前端由于JavaScript的数字精度限制,可能导致精度丢失。本文将深入探讨这个问题,并提供两种有效的解决方法。 一、问题背景 …