Articles of try catch

Sustituciones de cadenas usando plantillas en Python

Introducción El módulo de cadena tiene una clase de Plantilla, que le permite hacer sustituciones en una cadena usando un objeto de mapeo, por ejemplo: >>> string.Template(‘var is $var’).substitute({‘var’: 1}) ‘var is 1’ El método de sustitución puede generar una excepción KeyError, si se intenta sustituir un elemento que falta en la asignación, por ejemplo […]

borrar archivo si existe; python

Quiero crear un archivo; Si ya existe quiero borrarlo y crearlo de nuevo. Intenté hacerlo así, pero arroja un error de Win32. ¿Qué estoy haciendo mal? try: with open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’): os.remove(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’) f1 = open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’, ‘a’) except IOError: f1 = open(os.path.expanduser(‘~’) + ‘\Desktop\input.txt’, ‘a’)

¿Cómo obtener el último objeto de excepción después de que se genere un error en un indicador de Python?

Al depurar el código de Python en el indicador interactivo (REPL), a menudo escribo un código que genera una excepción, pero no lo envolví en un try / except , por lo que una vez que surge el error, siempre he perdido el objeto de excepción. A menudo, la traza y el mensaje de error […]

El rastreo de excepciones se oculta si no se vuelve a subir inmediatamente

Tengo un código similar a este: import sys def func1(): func2() def func2(): raise Exception(‘test error’) def main(): err = None try: func1() except: err = sys.exc_info()[1] pass # some extra processing, involving checking err details (if err is not None) # need to re-raise err so caller can do its own handling if err: […]

¿Cómo detecto una excepción para un módulo que no he importado completamente?

Normalmente, si importara un socket , podría detectar fácilmente las excepciones: >>> import socket >>> try: … socket.gethostbyname(‘hello’) … except socket.gaierror: … print(‘oops’) … oops Pero si solo importo socket.gethostbyname , no funcionará: >>> from socket import gethostbyname >>> try: … gethostbyname(‘hello’) … except socket.gaierror: … print(‘oops’) … Traceback (most recent call last): File “”, […]

Función de abrir archivo con Try & Except Python 2.7.1

def FileCheck(fn): try: fn=open(“TestFile.txt”,”U”) except IOError: print “Error: File does not appear to exist.” return 0 Estoy tratando de hacer una función que verifique si existe un archivo y si no, debería imprimir el mensaje de error y devolver 0. ¿Por qué no funciona esto?

Python prueba-finalmente

¿Por qué la excepción en foo whiz pasa desapercibida, pero se levanta la excepción en bar ? def foo(): try: raise Exception(‘foo’) finally: return def bar(): try: raise Exception(‘bar’) finally: pass foo() bar()

Las cláusulas de prueba y de excepción repetitivas

He creado un montón de funciones y necesito cláusulas de excepción muy similares en todas ellas, pero odio tener tantas líneas de cláusulas de prueba y de excepción y el mismo código dentro de cada función. Por ejemplo: import sys import random def foo(): num=random.random() try: if num>0.5: print ‘OK’ elif num>0.25: raise NameError(‘Too Small’) […]

¿Interrumpir el teclado con Python GTK?

Entonces, como dice la pregunta, estoy intentando que ocurran interrupciones del teclado mientras Gtk.main () está en progreso, sin embargo, parece que la interrupción del teclado no se produce hasta que finaliza la función. Así que intenté pegar Gtk.main () en un subproceso separado, y el hilo principal encuentra las interrupciones del teclado y termina […]

Declaraciones de prueba anidadas en python?

¿Hay una manera mejor de hacer lo siguiente: try: a.method1() except AttributeError: try: a.method2() except AttributeError: try: a.method3() except AttributeError: raise Parece bastante desagradable y preferiría no hacerlo: if hasattr(a, ‘method1’): a.method1() else if hasattr(a, ‘method2’): a.method2() else if hasattr(a, ‘method3’): a.method3() else: raise AttributeError Mantener la máxima eficiencia.