Ho uno script Python che deve cercare un determinato file.Modo pititico di gestire più possibili percorsi di file? (Senza utilizzare trys nidificati)
Potrei usare os.path.isafile(), ma ho sentito che è cattivo Python, quindi sto cercando di catturare l'eccezione.
Tuttavia, ci sono due posizioni che potrei cercare il file. Potrei usare trys annidati per gestire questa situazione:
try:
keyfile = 'location1'
try_to_connect(keyfile)
except IOError:
try:
keyfile = 'location2'
try_to_connect(keyfile)
except:
logger.error('Keyfile not found at either location1 or location2')
O potrei semplicemente mettere un passaggio nella prima eccezione di blocco, e poi hanno un altro appena sotto:
try:
keyfile = 'location1'
try_to_connect(keyfile)
except IOError:
pass
try:
keyfile = 'location2'
try_to_connect(keyfile)
except:
logger.error('Keyfile not found at either location1 or location2')
Tuttavia, c'è un altro Modo Pythonic per gestire la situazione di cui sopra?
Cheers, Victor
Perché non scrivi un ciclo? -1 per non conoscere il concetto di un ciclo –
È una domanda perfettamente valida che richiede un metodo più pitioso per farlo. Non penso davvero che puoi dingerlo per non pensare al loop. –