文件异常与文本文件处理
一、文件异常
1、try... 一个 except 结构
2、try... 多个 except 结构
3、try...except...else 结 构
try...except...else 结构增加了“else 块”。如果 try 块中没有抛出异常,则执行 else 块。如果
try 块中抛出异常,则执行 except 块,不执行 else 块。
4、try...except...finally 结构
try...except...finally 结构中,finally 块无论是否发生异常都会被执行;通常用来释放 try 块中
申请的资源。
try:
a = input(" " 请输入一个被除数:" ")
b = input(" " 请输入一个除数:" ")
c = float(a)/float(b)
except BaseException as e:
print(e)
else:
print(c)
finally:
print(" " 我是 y finally 中的语句,无论发生异常与否,都执行!" ")
print(" " 程序结束!" ")
5、return 语句和异常处理问题
由于 return 有两种作用:结束方法运行、返回值。我们一般不把 return 放到异常处理结构
中,而是放到方法最后。
6、trackback 模块
import traceback
try:
print( "step1")
num = 1/0
except:
traceback.print_exc()
运行结果:
step1
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/mypro_exception/my01.py", line 7, in <module>
num = 1/0
ZeroDivisionError: division by zero
二、文本文件处理
1、write()/writelines()写入数据
write(a):把字符串 a 写入到文件中
writelines(b):把字符串列表写入文件中,不添加换行符
2、with 语句(上下文管理器)
with 关键字(上下文管理器)可以自动管理上下文资源,不论什么原因跳出 with 块,都能
确保文件正确的关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的现场。
s = ["高淇\n","高老三\n","高老五\n"]
with open(r"d:\bb.txt","w") as f:
f.writelines(s)
3、文本文件的读取
文件的读取一般使用如下三个方法:
1. read([size])
从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。
读取到文件末尾,会返回空字符串。
2. readline()
读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
3. readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表
读取一个文件前 4 个字符
with open(r"bb","r",encoding="utf-8") as f:
print(f.read(4))
4、二进制文件的读取和写入
二进制文件的处理流程和文本文件流程一致。首先还是要创建文件对象,不过,我们需要指
定二进制模式,从而创建出二进制文件对象。例如:
f = open(r"d:\a.txt", 'wb') #可写的、重写模式的二进制文件对象
f = open(r"d:\a.txt", 'ab') #可写的、追加模式的二进制文件对象
f = open(r"d:\a.txt", 'rb') #可读的二进制文件对象
创建好二进制文件对象后,仍然可以使用 write()、read()实现文件的读写操作。
读取图片文件,实现文件的拷贝:
with open('aa.gif', 'rb') as f:
with open('aa_copy.gif', 'wb') as w:
for line in f.readlines():
w.write(line)
print('图片拷贝完成!')
文件异常与文本文件处理相关推荐
- jupyther_python基础系列 08 第八章 文件异常和模块
第八章 文件异常和模块 文件的读写 文件的打开 文件的打开通用格式 "对文件进行相应的读写操作"``` 使用 with 执行完毕 自动进行close操作[例1] 一个见到那的文件读 ...
- 文件系统损坏导致数据文件异常恢复----惜分飞
今天接到一个客户的服务请求,由于服务器被强制重启,数据库无法启动 ORA-1200报错 这是一个常见的ORA-1200错误,但是文件大小相差的有离谱实际大小729600个block,但是现在只有149 ...
- 逆水寒服务器更新响应超时,逆水寒patcher.zip文件更新失败怎么办 更新文件异常问题解决方法...
逆水寒ol是由网易打造的一款国风武侠动作角色扮演类网游,游戏进行了更新推送,但是不少玩家出现了更新文件异常的问题,之后手动下载更新文件也无法下载,那么该如何解决?下面小编带来更新文件异常问题解决方法, ...
- System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常 参考文章: (1)System.Sec ...
- Hosts文件异常及修复
Hosts文件异常及修复 参考文章: (1)Hosts文件异常及修复 (2)https://www.cnblogs.com/showovo/p/11313840.html (3)https://www ...
- android dex文件过多,Android Studio中的多个Dex文件异常
突然间,我在Android Studio中的项目中收到以下错误.Android Studio中的多个Dex文件异常 Execution failed for task ':app:dexDebug'. ...
- 关于在Spark集群中读取本地文件抛出找不到文件异常的问题
关于在Spark集群中读取本地文件抛出找不到文件异常的问题 一般情况下,我们在本地ide里写好程序,打成jar包上传到集群取运行,有时候需要读取数据文件,这个时候需要注意,如果程序中读取的是本地文件, ...
- Aspose.Cells导入excel文件异常No data is available for encoding 936.
Aspose.Cells导入excel文件异常消息: No data is available for encoding 936.For information on defining a custo ...
- C语言基础14——文件操作。文本文件或二进制文件读写。通讯录的改造。文件缓冲区讲解
目录 为什么使用文件? 什么是文件? 文件的打开和关闭 文件指针 文件的打开和关闭 文件的打开方式 流 重定义文件 文件流 文件的顺序读写 以字符形式读写文本文件 fputc()函数 fgetc()函 ...
最新文章
- java代码详细注释_java代码详细注释
- linux级别3怎么配置DNS,Linux下DNS服务器配置详解
- [Java基础]多态基础
- 求一个简单的php购物车,PHP简单实现购物车
- android 字母索引三方,Android 字母索引动态自定义布局
- python数组和列表的区别_JS数组方法与python列表方法的比较
- GOOD AI Example GREAT AI Company
- python与开源gis空间分析_Python 与开源GIS —数据处理、空间分析与地图制图
- librosa.stft的输出
- AD中如何进行logo的自制与导入
- 迅捷PDF转换成word转换器
- 《如师通语言学习软件(罗塞塔石碑)》(Rosetta Stone) v3.4.5 英语/日语/法语/德语/韩语/俄语/西班牙语/意大利语/阿拉伯语/葡萄牙语/汉语 [云端免安装版]
- 大数据产业助力上饶经济转型
- 加密货币、区块链不断贴近生活,阿里、腾讯、脸书等大厂们在做什么?
- 500kV某变电站红外测温 检测技术方案
- java 去除警告_Java——警告消除
- 数据库并发问题和事务隔离界别
- 计算机可以辅助英语写作吗,计算机辅助大学英语写作
- nfc支持饭卡吗_苹果iPhone手机开启NFC功能方法教程
- Linux和windows之间实现文件的粘贴复制