异常处理

捕获异常

#将可能出错的部分用try运行
#当执行出错,后面代码不会继续执行,转到错误处理代码即except,执行相应错误处理
#如果没有错误则会执行else,最后不论什么情况finally一定执行
try:print('try...')r=10/int('a')print('result',r)
#错误处理也是class,当执行父类的时候也会包含它的子类
#即xecept A在except B之前,A为B的父类。当出现错误B时只会执行靠前的A。
#一般都会使用“as e”代替当前错误
except ValueError as e:print('ValueError:',e)
except ZeroDivisionError as e:print('ZeroDivisionError:',e)
else:print('No error!')
finally:print('finally...')
print('END')

使用try…except…可以跨越多层调用,即当函数main()调用foo(),foo()调用bar()
当bar()出错时只要main()捕获到即可处理:

def foo(s):return 10/int(s)def bar(s):return foo(s)*2def main():try:bar('0')except Exception as e:print('Error:',e)finally:print('finally...')

只需要在合适的层次捕获错误即可。

python标准异常类点此查看

2.模块

模块通俗来说就是一个.py文件,模块是管理功能的代码。
python有自定义模块,如time,random等

自定义模块(同目录下的.py文件)
1.不要与系统模块重名
2.导入的功能代码不要与当前模块重名

#同目录下写一个.py文件,名字为first_module
num=10
print(num)
if __name__='__main__':print(num+10)#在另一个文件导入first_module,可以通过as改名import first_module as fm#只导入一部分函数可用from module import 函数名,*可代表所有函数。
#from first_module import 函数名#当import的时候会将导入的代码全部执行一遍
**#在执行哪个文件时,__name__输出为__main__,当import其他模块时__name__为模块名**
**#即可以使用if __name__='__main__':来使该模块被调用时哪些不执行。**
#执行结果为10。前一个为import时执行的,if __name__='__main__'后面的print未执行。

3.文件基础操作

读文件

#filepath为文件路径,method为读取方式有[r,rb,r+,rb+,w,wb,w+,wb+,a,ab,a+,ab+]
#r代表read,为默认值。w为write,b以二进制形式,+代表读写,a。具体描述可度娘。
>>>filepath=‘D:\360Downloads’
>>>method='r'
**#使用windows默认编码是gpk所以要将encoding改为utf-8,linux与mac默认为utf-8不用修改。**
>>>f=open(filepath,method,encoding=utf-8)#当文件不存在会报错,若成功打开可以通过read()读取。
#f.read()括号内为空读取全部,为数字则读取指定字节。
>>>f.read()
#打开后最后一步需要关闭
>>>f.close()

为了简化open和close可以用with语句,则不用调用close()

with open(filepath,method,encoding=utf-8) as f:print(f.read())

如果文件很大可以使用read(size)或readlines()。readlines将所有内容按行返回成list

for line in f.readlines():print(line.strip)      #strip把末尾的'\n'删掉

写文件

#使用此方是将内容写入内存,并在空闲时写入,只有调用close()才能保证全部写入。
f=open(filepath,method,encoding=utf-8)
f.write('Hello world!')
f.close()
#用with方法可以保证全部写入。
with open(filepath,method,encoding=utf-8) as f:f.write('Hello world!')

Python异常处理与文件打开相关推荐

  1. python中打开文件时只允许写入的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  2. python中文件打开的合法模式组合_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  3. Python open()函数文件打开、读、写操作详解

    python的文件读写和打开操作都有自己特定的函数和方法,操作起来很简单.下面就来简单的了解下python文件的基本操作方法有哪些. 一.Python open()函数文件打开操作 打开文件会用到op ...

  4. python基础之文件打开

    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏. ...

  5. python中的文件打开方式

    r: 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb: 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这是默认模式. r+: 打开一个文件用于读写.文件指针将会 ...

  6. Python Numpy .npy文件打开

    首先找到你的npy文件的路径(我的npy文件在D盘下,名字叫test.npy) 2 打开编写python的软件(我的软件是pycharm) 3 新建一个python文件,用于后面的编程使用.(我先建的 ...

  7. python中以只读形式打开文件的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  8. python中文件的打开与关闭_python中的文件打开与关闭操作命令介绍

    python中的文件打开与关闭操作命令介绍 1.文件打开与关闭 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式). f = open('t ...

  9. python怎么读取文件-python怎么读写文件操作

    本节内容:I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input/ ...

最新文章

  1. linux基础上的三维重建,Ubuntu16.04下用ZED双目立体相机进行SLAM(以相机轨迹生成和三维重建为例)...
  2. feign调用多个服务_Spring Cloud多个微服务之间调用代码实例
  3. Java单例模式:饿汉与懒汉区别
  4. 3.7.1 读取输入
  5. Mysql 导入导出csv 中文乱码问题的解决方法
  6. object的实例是 python_Python:type、object、class与内置类型实例
  7. 【转载记录】Accessing Device Drivers from C#
  8. HTML文件属于void值吗,使用HTML :: TreeBuilder查找html文件中的值
  9. 巴塞尔问题欧拉解法逐步推导与分析
  10. php openssl des ecb,php7.2 des-ede3-ecb加密报错:openssl_encrypt():Unknown cipher algorithm 落叶随风博客...
  11. android js 开屏动画,利用Flutter实现“孔雀开屏”的动画效果
  12. LVS DR模型详解
  13. Java8与传统的日期和时间类详解
  14. 汽车无人驾驶相应专业词汇
  15. 图解:卷帘快门(Rolling shutter)与全局快门(global shutter)的区别
  16. ddos防火墙的作用和部署
  17. “教你如何刷Q币” 不要上当受骗
  18. 【oracle报错】/usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-30.x86_64
  19. 【Proteus仿真】DAC0832+51单片机汇编实现三角波输出
  20. uniapp-App支付宝授权小记

热门文章

  1. 整理:微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog
  2. 重返研一,你会怎么过?
  3. TinyMind第一届汉字书法识别挑战赛
  4. centos7 挂载fat32格式的u盘和ntfs格式的移动硬盘
  5. 使用Python+Dlib构建人脸识别系统(在Nvidia Jetson Nano 2GB开发板上)
  6. Debian下最简的添加ttf字体文件的方法(网络收藏)
  7. 博为小帮软件机器人实现一键报税,程序猿还是很强的。。。
  8. 末日搜索神器3.0发布
  9. 2022全国科技周情感计算:CV语义个性化,NLP多模态,Voice语音,人脸情绪,脑电情感
  10. 什么是脏读、幻读、不可重复读、可重复读