如何在Python的for循环中跳过AttributeError并继续循环
我正在用一个“for循环”来从多个文件中记录IMEI号码,并把它们放到一个数组里。
但是,当没有检测到IMEI时,这个for循环就会停止,并显示一个错误信息:AttributeError:rint。
result = getattr(asarray(obj), method)(*args, **kwds)
AttributeError: rint
我用过这种方法:
for IMEI in file():
try:
detect the IMEI from the files()
Append them to the array()
exception AttributeError:
print 'File name'
pass
我想要做的是,如果在文件中没有检测到IMEI,就跳过这个错误,然后继续循环,去其他文件中寻找IMEI。
IMEI是一个16位的字母数字代码。我把它当作“字符串”来使用。
我处理了3200个“.dat”文件,目的是在每个文件中找到这样的字母数字文本。每个.dat文件里都有一些十六进制数据。
2 个回答
2
我找到了答案,这个方法在我这里有效。
答案是:
if IMEI is None:
continue
这个方法可以在返回值是None的时候跳过循环,而在我的情况下,AttributeError也意味着同样的事情。
3
try:
execute_something()
except AttributeError:
caught_error()
这就是我们在Python中捕捉错误的方法。只需在你的循环中加入上面的代码片段。把我用的函数换成你自己的代码就可以了。
如果还有什么不明白的地方,请随时问我。