如何避免OSError:如果没有文件,则无法打开资源,但是下次它将打开一个资源。
trend_ext = r"C:\Users\Angel ONC\Desktop\mapas-delitos-master\Series\Baja California\Ext.png"
trend_fem = r"Series\Baja California\Fem.png"
trend_homculp = r"Series\Baja California\Hcul.png"
trend_homdol = r"Series\Baja California\Hdol.png"
trend_narco = r"Series\Baja California\Nar.png"
Mapa_ext = r"Mapas\Baja California\Ext.png"
Mapa_fem = r"Mapas\Baja California\Fem.png"
Mapa_homculp = r"Mapas\Baja California\Hcul.png"
Mapa_homdol = r"Mapas\Baja California\Hdol.png"
Mapa_narco = r"Mapas\Baja California\Nar.png"
Mapa_robcas = r"Mapas\Baja California\Cas.png"
doc = SimpleDocTemplate("Reportes\Baja California.pdf",pagesize=letter,
rightMargin=72,leftMargin=72,
topMargin=72,bottomMargin=18)
Story=[]
try:
im_Mapa_fem = Image(Mapa_fem, 6*inch, 4*inch)
Story.append(im_Mapa_fem)
im_trend_fem = Image(trend_fem, 6*inch, 4*inch)
Story.append(im_trend_fem)
except:
pass
try:
im_Mapa_ext = Image(Mapa_ext, 6*inch, 4*inch)
Story.append(im_Mapa_ext)
im_trend_ext = Image(trend_ext, 6*inch, 4*inch)
Story.append(im_trend_ext)
except:
pass
try:
im_Mapa_secuestro = Image(Mapa_secuestro, 6*inch, 4*inch)
Story.append(im_Mapa_secuestro)
im_trend_secuestro = Image(trend_secuestro, 6*inch, 4*inch)
Story.append(im_trend_secuestro)
except:
pass
OSError:无法打开资源“ Mapas \ Baja California \ Fem.png”
找不到文件时,我需要找到解决方案。
答案 0 :(得分:0)
尝试如下重写try-execpt块:
#Package for iterating through directories
import glob as glob
directory = r'Mapas\Baja California\*.png'
try:
for files in glob.glob(directory):
im_Mapa_fem = file
im_Mapa_fem = Image(Mapa_fem, 6*inch, 4*inch)
Story.append(im_Mapa_fem)
im_trend_fem = Image(trend_fem, 6*inch, 4*inch)
Story.append(im_trend_fem)
except Exception as e:
print(e)
continue
使用continue时,如果满足条件,Python将忽略for循环的一部分,但会继续完成循环的其余部分。但是,使用pass时,Python会忽略该条件,并照常继续执行for循环。
因此,如果要捕获异常然后移至下一个迭代,则应使用continue而不是pass。
由于您未包含MCVE,因此此方法可能无法正常工作,但这应该是常规方法。
也永远不要使用空块除外。您应该始终捕获该异常,并对其进行处理以用于将来的调试目的。