当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [原来普通的try+excpt就可以,乌龙了]Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
帖子发表于 : 2017-02-14 4:41 

注册: 2013-05-26 6:58
帖子: 2173
系统: Debian 9
送出感谢: 902
接收感谢: 30
Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
例如我要删掉N个文件,即使删除失败也直接忽略
代码:
remove('/asfsaf')
    remove('/24234')


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


最后由 科学之子 编辑于 2017-02-15 18:24,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
帖子发表于 : 2017-02-14 9:27 
头像

注册: 2011-03-20 13:12
帖子: 4546
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1007
代码:
try:
    os.remove('/asfsaf')
except OSError as e:
    print e


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
3 楼 
 文章标题 : Re: Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
帖子发表于 : 2017-02-14 11:40 

注册: 2013-05-26 6:58
帖子: 2173
系统: Debian 9
送出感谢: 902
接收感谢: 30
vickycq 写道:
代码:
try:
    os.remove('/asfsaf')
except OSError as e:
    print e

但是多个os.remove怎么办?难道每个都要搭配try+except?

不过现在我突然想到一个方法,用循环的方式?
类似
代码:
for x in l:try:
    os.remove(x)
except OSError as e:
    print e

然后把需要用到的字符串写成一个list就可以了
注:纯属自己的猜测,还没试过,等有时间试试


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
帖子发表于 : 2017-02-14 15:15 
头像

注册: 2008-09-18 13:11
帖子: 2794
送出感谢: 1
接收感谢: 456
python3:
代码:
import contextlib
with contextlib.suppress(FileNotFoundError):
    os.remove('/abcdefg')



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
5 楼 
 文章标题 : Re: Python如何忽略异常?网上搜都是跳过出现异常的代码块,但我不希望这样
帖子发表于 : 2017-02-15 11:20 

注册: 2013-05-26 6:58
帖子: 2173
系统: Debian 9
送出感谢: 902
接收感谢: 30
astolia 写道:
python3:
代码:
import contextlib
with contextlib.suppress(FileNotFoundError):
    os.remove('/abcdefg')

https://docs.python.org/3/library/conte ... b.suppress
貌似依然只能是对单条语句生效
我想要的是对整个语句块生效

Wed Feb 15 14:11:46 CST 2017补充:
试了试,对语句块也有效


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译