Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
script:python:new:api [2013/09/26 20:42] alfred [UnitTesting] |
script:python:new:api [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 201: | Línea 201: | ||
| from argparse import ArgumentParser | from argparse import ArgumentParser | ||
| parser = ArgumentParser() | parser = ArgumentParser() | ||
| - | parser.add_argument('-f', '--foo', help='foo help') | + | parser.add_argument('-f', '--foo', dest='foo', help='foo help') |
| args = parser.parse_args() | args = parser.parse_args() | ||
| print args.foo | print args.foo | ||
| </code> | </code> | ||
| - | |||
| ''add_argument'' permite, entre otros, los siguientes parámetros: | ''add_argument'' permite, entre otros, los siguientes parámetros: | ||
| * ''name'' o ''flags'': un nombre o lista de opciones, ejemplos: ''<nowiki>foo, -f, --foo</nowiki>'' | * ''name'' o ''flags'': un nombre o lista de opciones, ejemplos: ''<nowiki>foo, -f, --foo</nowiki>'' | ||
| Línea 491: | Línea 490: | ||
| c1.close() # cerramos la primera conexión | c1.close() # cerramos la primera conexión | ||
| </code> | </code> | ||
| + | Al hacer el connect podemos conectar con una DB ficticia en memoria usando ''":memory:"''. | ||
| === Insertar una fecha === | === Insertar una fecha === | ||
| <code python> | <code python> | ||
| Línea 507: | Línea 506: | ||
| db.commit() | db.commit() | ||
| </code> | </code> | ||
| - | |||
| ==== Datos binarios ==== | ==== Datos binarios ==== | ||
| Línea 667: | Línea 665: | ||
| format=%(asctime)s - %(name)s - %(levelname)s - %(message)s | format=%(asctime)s - %(name)s - %(levelname)s - %(message)s | ||
| datefmt= | datefmt= | ||
| + | </code> | ||
| + | |||
| + | === Para mostrar información de la excepción === | ||
| + | <code python> | ||
| + | try: | ||
| + | open('/path/to/does/not/exist', 'rb') | ||
| + | except (SystemExit, KeyboardInterrupt): | ||
| + | raise | ||
| + | except Exception, e: | ||
| + | logger.error('Failed to open file', exc_info=True) | ||
| </code> | </code> | ||
| Línea 674: | Línea 682: | ||
| logging.getLogger().disabled = True | logging.getLogger().disabled = True | ||
| </code> | </code> | ||
| + | |||
| + | |||
| ==== Imports dinámicos ==== | ==== Imports dinámicos ==== | ||
| A partir del módulo ''imp'' podemos realizar imports por código. Este módulo tiene funciones como... | A partir del módulo ''imp'' podemos realizar imports por código. Este módulo tiene funciones como... | ||
| Línea 691: | Línea 701: | ||
| fname = path.basename(obs_path)[:-3] | fname = path.basename(obs_path)[:-3] | ||
| return load_source(fname, mpath) | return load_source(fname, mpath) | ||
| + | </code> | ||
| + | |||
| + | === Otra forma de importar === | ||
| + | Si la aplicación se abre desde, por ejemplo, otro path. | ||
| + | <code python> | ||
| + | import sys | ||
| + | from os.path import abspath | ||
| + | sys.path.append(abspath('.')) | ||
| + | from backend.css.tasks import parse_grammar | ||
| </code> | </code> | ||
| ==== UnitTesting ==== | ==== UnitTesting ==== | ||