Herramientas de usuario

Herramientas del sitio


script:python:new:api

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
script:python:new:api [2013/09/26 19:46]
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 ====
Línea 702: Línea 721:
 <​code>​ <​code>​
 $ python -m unittest discover $ python -m unittest discover
 +</​code>​
 +  * Otras formas de ejecutar tests:
 +<​code>​
 +$ python -m unittest test_random
 +$ python -m unittest test_random.TestSequenceFunctions
 +$ python -m unittest test_random.TestSequenceFunctions.test_shuffle
 </​code>​ </​code>​
   * Las comprobaciones que se pueden hacer son:   * Las comprobaciones que se pueden hacer son:
script/python/new/api.1380224770.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)