uso eficaz de pitón shutil copy2
-
12-10-2019 - |
Pregunta
Si echamos un vistazo a una función de copia de archivos, podemos ver que hay varias excepciones a manejar. Un ejemplo es buena aquí: http://msdn.microsoft.com/en-us /library/9706cfs5.aspx
mi pregunta es si yo uso pitón shutil copy2, lo que debería prestar atención a hacer frente a diversas excepciones (archivo de origen no encontrado, el acceso no autorizado, etc.)?
por ejemplo.
def copy_file (self):
if not os.path.isdir(dest_path):
os.makedirs(dest_path)
shutil.copy2(src_path, dest_path)
¿Qué debo hacer para la función anterior?
Solución
Es posible que sólo necesitan manejar la excepción IOError
que puede ser causado debido a los permisos o cuestión del nombre de destino no es válido.
try:
shutil.copy(src,dst)
except IOError as e:
print e
Las otras excepciones mencionadas en el artículo de MSDN parece caer bajo el mismo IOError en Python. El FileNotFound y DirectoryNotFound no son realmente aplicables como shutil.copy va a crear el destino si no existe ya. Además, me parece que el devenir de OSError también están a distancia en este caso.