首页 / PYTHON / Python文件_捕获异常
Python文件_捕获异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python文件_捕获异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1494字,纯文字阅读大概需要3分钟。
内容图文
![Python文件_捕获异常](/upload/InfoBanner/zyjiaocheng/628/c1e89ac228d344baa269ea27730c221e.jpg)
捕获异常
1.读写文件的时候有很多容易出错的地方;如果你要打开的文件不存在,就会得到一个IOerror:
>>> find = open('bad_file.txt')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'bad_file.txt'
2.如果你要读取一个文件却没有权限,就得到一个权限错误permissionError:
>>> fout = open('/etc/passwd', 'w')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 1] Operation not permitted: '/etc/passwd'
3.如果你把一个目录错当做文件来打开,就会得到下面这种IsADirectoryError错误了:
>>> find = open('/home')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IsADirectoryError: [Errno 21] Is a directory: '/home'
我们可以用像是os.path.exists、os.path.isfile 等等这类的函数来避免上面这些错误,不过这就需要很长时间,
还要检查很多代码(比如“IsADirectoryError: [Errno 21] Is a directory: '/home'”,这里的[Errno 21]就表明有至少21处地方有可能存在错误)。
所以更好的办法是提前检查,用 try 语句来实现,这种语句就是用来处理异常情况的。其语法形式就跟 if...else 语句是差不多的:
>>> try:
... fout = open('bad_file.txt')
... except:
... print('something went wrong!')
...
something went wrong!
过程:
Python 会先执行 try 后面的语句。如果运行正常,就会跳过 except 语句,然后继续运行。如果发生异常,就会跳出 try 语句,然后运行 except 语句中的代码。
这种用 try 语句来处理异常的方法,就叫文件的异常捕获。上面的例子中,except 语句中的输出信息并没有实质性作用,仅仅是检查是否执行语句,而后的返回。
结束。
内容总结
以上是互联网集市为您收集整理的Python文件_捕获异常全部内容,希望文章能够帮你解决Python文件_捕获异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。