Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2015, 03:38
Koan
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 4 meses
Puntos: 9
¿Leer la ruta correcta mediante excepciones?

Hola!

Me gustaria poder configurar mi programa para poder trabajar con dos ordenadores. Se me complica, cuando el script, debe leer archivos. Ya que entonces la ruta de archivos cambia.

Si tenemos un PC de sobremesa y un portatil ¿Como enfocar las excepciones?

Ejemplo:

(argumento, es un archivo de texto especificado en dicha ruta)

Código Python:
Ver original
  1. def funcion(argumento):
  2.  
  3.     try:
  4.         with open('C:/Users/sobremesa/Desktop/ruta/' + argumento, 'r') as leer:
  5.             contenedor = []
  6.             for x in leer.readlines():
  7.                 corte = x.split(',')
  8.                 contenedor.append([int(j) for j in corte])
  9.              
  10.     except FileNotFoundError:
  11.         with open('C:/Users/portatil/Desktop/ruta/' + argumento, 'r') as leer:
  12.             contenedor = []
  13.             for x in leer.readlines():
  14.                 corte = x.split(',')
  15.                 contenedor.append([int(j) for j in corte])            
  16.            
  17.        
  18.     else:
  19.         print('No existe ese fichero...')
  20.         return

- Si estamos en el ordenador sobremesa, no salta la except y lee el archivo

- Si estamos en el ordenador portatil, salta la except y lee el archivo

El problema que tengo, es que el else no se ejecuta nunca. Es decir, podemos encontrarnos en un ordenador u otro, y que no exista el archivo (pero estemos en la ruta correcta). En ese caso, me gustaria que ejecutara el else.

Por otro lado, ¿No es redundante repetir el bloque de codigo entero en el try y el except? ¿Se hace de otra manera?

Gracias!