python 二进制流_Python | 文件操作和异常处理

本文介绍了Python中的文件操作和异常处理。讲解了文件的打开、关闭、读写操作,特别是二进制文件的处理。同时,深入讨论了Python异常处理机制,包括try-except语句的使用,以及else和finally子句的应用。通过实例帮助理解如何有效地管理文件和处理程序运行时可能出现的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ac586098c356061c329b17657ff663c8.gif

当当当!!!

python小课堂又开课啦!!

今天小E想跟大家讲讲

python中的文件异常处理这两部分

48a9f68cffe0ac079bf027fa5d02583d.gif e0277372cd300ea3e17a0586786413e6.gif

文件操作部分

acd278b626e0cc0e7b8b7b07816c0696.gif

首先让我们了解一下“文件”

文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象。用文件形式组织和处理表达数据也更为有效灵活。文件包括两种类型:文本文件和二进制文件。

  无论文件是创建为文本文件还是二进制文件,都可以用“文本文件方式”和“二进制文件方式打开”但是打开后操作不同。

19af8910e1b6d49929396093426cad77.png

那么文件的介绍我们就讲完了噢~

相信各位同学应该对文件有了一个大致的了解了叭~

那么我们接下来开始介绍文件的操作

1.文件的打开与关闭

23c95f45f8ed0fecfd279ed9d315f70c.gif

 Python对文本文件和二进制文件采用统一的操作步骤,即“打开--操作--关闭”。

      Python解释器通过内置的open()函数打开文件,并实现该文件与一个程序变量的关联,格式如下:

    =open(,)

eg:  file=open(‘7.txt’,’w’)

open函数有两个参数:文件名和打开模式。

文件名可以是实际名字,也可以是包含完整路径的名字。打开模式用于控制何种方式打开文件

open函数提供几种基本打开模式:

dfbfe1cfbaa534f4f7a5bb07d8770e7d.png

当你操作完成了的时候

需要关掉文件,关文件就省事多了

使用close()方法即可:.close()

2. 文件的读写 

23c95f45f8ed0fecfd279ed9d315f70c.gif

当文件打开后,根据打开方式的不同可以对文件进行相应的读写操作。

注意!当文件以文本文件方式打开时,读写按照字符串方式,采用当前计算机使用的编码或指定编码;当文件以二进制方式打开时,读写按照字节流模式。

   下面是python提供的3个常用的文件读取内容方法:   

Python提供3个与文件内容写入有关的方法:

   .writes(s) 向文件写入一个字符串或字节流

   .writelines(lines) 将一个元素全为字符串的列表写入文件

   .seek(offset) 改变当前文件操作指针的位置,offset的值:0--文件开头  1--当前位置  2--文件结尾

5d0ad68277444640b424e10eaf2b9ddd.png 7d5245c8128bed3c350967a8afcd1f8b.png 3faff13bf33ed800c5bb1540c0996fb6.png 0ebf7e2275184e427bca689249de4b32.png

可以看到,test.txt文件已经建立好并且内容已经写进去了,但是程序中的print()函数却并没有将内容输出.

这是为什么呢?

这是因为写入文件后,当前文件的操作指针在写入内容的后面,当开始执行print()函数时,是从指针后面开始输出内容的,但是写入的内容却在指针前面,因此未能打印出来。所以,可以在写入文件后增加一条语句 fo.seek(0) 将文件操作指针返回到文件开始,即可显示写入的内容。

4801d570f5da0e97adf279a9f9b75e23.png

像上图那样改完之后

我们就可以让程序输出我们想要的结果啦~~~

e813cf94415bfbe3f095fb7235985b91.png e0277372cd300ea3e17a0586786413e6.gif

python中异常处理

acd278b626e0cc0e7b8b7b07816c0696.gif

先来观察下面这段程序

f2486a713822cdf10116ee86b69b4de7.png 9775dbe4e7cbd7af7e87f1973b8f3bfe.png

可以看到程序运行正常,如果输入的不是一个数会怎样呢?

916f1b879b09fcd002eb3a753bceb20c.png

在上面那坨红色的字里面寻找有用的信息

     ‘line 1’:表示异常发生的行数

     ‘NameError’:表示异常类型

Python异常信息中最重要的就是异常类型,它表明发生异常的原因,也是程序处理异常的根据。

  Python使用try-except 语句来实现异常处理,其基本语法格式如下:

     Try:

     Except:

语句块1是正常执行的程序内容,当发生异常时执行except保留字后面的语句块,接下来看段简短的代码(写长了怕你们不看)

729b248d93d036fc1330a8ec33035e4e.png

bingo!这样就完成了!是不是很神奇呢!!

很简单吧对不对!

是不是其实没有那么难呢~~~

d27160a4e13546fa0befb6b423f693ad.gif

接下来我们过渡到异常处理的高级用法

 Try-except语句可以支持多个except,格式如下:

      Try:

      Except:

      Except:

      .......

      Except:

其中第一个到第n-1个都指定了异常,说明这些except所包含的语句块只处理这些异常,最后一个没有异常类型,表示它可以处理所有其他异常。

除了try-except 保留字之外,异常语句还可以与else和finally保留字配合使用,语法格式如下:  

      try:

     Except:

     Else:

     Finally:

 此处的else语句与for循环和while循环中的else一样,当try中的语句块1正常执行结束没有发生异常时,else中的语句块3执行,可以看作是对try语句块执行结束后的一种追加处理。

finally语句块则不同,无论是否发生异常,语句块4都会正常执行,可以将语句块1的一些收尾工作放在这里执行,例如打开关闭文件之类的操作。

d27160a4e13546fa0befb6b423f693ad.gif

python能识别多种异常类型,但是不建议同学们写程序时过度依赖try-except语句。这种处理机制一般只用来检测极少发生的情况。对于上述的小代码应该采用if语句来判断。

90ede0c52175c1c1373ed8bb4f30bb7b.png 8f692f19e48194e95b1874ceb84af2cb.png

  以上就是python文件操作和异常处理

希望各位同学仔细学习

熟练掌握这些知识。

同学们下节课再见啦~

bye~~

6781fb5c595cb13ac9e560b2fbe0aa1d.gif

执行编辑 | 王人杰

责任编辑 | 于文博

c4b475015fd7f54008fbee85f3664d60.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值