Herramientas de usuario

Herramientas del sitio


script:python:new:snippets

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:snippets [2013/02/08 11:08]
alfred [Detectar el final de la ejecución]
script:python:new:snippets [2020/05/09 09:25] (actual)
Línea 89: Línea 89:
 <code python> <code python>
 import atexit import atexit
- 
 def all_done(): def all_done():
     print '​all_done()'​     print '​all_done()'​
- 
 print '​Registering'​ print '​Registering'​
 atexit.register(all_done) atexit.register(all_done)
 print '​Registered'​ print '​Registered'​
 </​code>​ </​code>​
 +
 Este código dará como resultado: Este código dará como resultado:
 <​code>​ <​code>​
Línea 103: Línea 102:
 all_done() all_done()
 </​code>​ </​code>​
 +
 Podemos pasar parámetros:​ Podemos pasar parámetros:​
 <code python> <code python>
 import atexit import atexit
- 
 def my_cleanup(name):​ def my_cleanup(name):​
     print '​my_cleanup(%s)'​ % name     print '​my_cleanup(%s)'​ % name
- 
 atexit.register(my_cleanup,​ '​first'​) atexit.register(my_cleanup,​ '​first'​)
 atexit.register(my_cleanup,​ '​second'​) atexit.register(my_cleanup,​ '​second'​)
Línea 124: Línea 122:
     sys.exit()     sys.exit()
 </​code>​ </​code>​
-==== Crear un log ==== +==== Conocer las direcciones de la máquina ​==== 
 +Para UNIX existe el paquete ''​netifaces'':​ 
 +<code python>​ 
 +from netifaces import interfaces, ifaddresses,​ AF_INET 
 +for ifaceName in interfaces():​ 
 +    addresses = [i['​addr'​] for i in ifaddresses(ifaceName).setdefault(AF_INET,​ [{'​addr':'​No IP addr'​}] )] 
 +    print '%s: %s' % (ifaceName, ', '​.join(addresses)) 
 +</​code>​ 
 +Derivado de este código cómo conseguir una ip pública: 
 +<code python>​ 
 +from netifaces import interfaces, ifaddresses,​ AF_INET 
 +for ifaceName in interfaces():​ 
 +    for i in ifaddresses(ifaceName).setdefault(AF_INET,​ [{'​addr':'​127.'​}] ): 
 +        if not i['​addr'​].startswith("​127."​):​ 
 +            return i['​addr'​]  
 +</​code>​
 ===== Tips ===== ===== Tips =====
   * Para configuración podemos agregar un fichero settings.py al proyecto. Este contendría un diccionario con las configuración deseada (par: clave, valor).   * Para configuración podemos agregar un fichero settings.py al proyecto. Este contendría un diccionario con las configuración deseada (par: clave, valor).
Línea 137: Línea 149:
 <code python> <code python>
 print map(int, "10 20 30"​.split()) #​ [10, 20, 30] print map(int, "10 20 30"​.split()) #​ [10, 20, 30]
 +</​code>​ 
 +<code python>
 d = [1, 3, 5] d = [1, 3, 5]
 d[-1] #​ 5 d[-1] #​ 5
 +</​code>​
 +<code python>
 +winners = set('''​washington adams jefferson jefferson madison madison ​
 +monroe monroe adams jackson jackson vanburen harrison polk taylor pierce buchanan'''​.split())
 +</​code>​
 +<code python>
 +def __init__(self,​ email, content, created=None):​
 +  self.email = email
 +  self.content = content
 +  self.created = created or datetime.datetime.now()
 +  # if created has value self.created will take it, if not self.created will be datetime.now()
 +</​code>​
 +==== zip function ====
 +<​code>​
 +>>>​ a = ['​a',​ '​b',​ '​c'​]
 +>>>​ c = [10, 33, 44]
 +>>>​ zip(a, c)
 +[('​a',​ 10), ('​b',​ 33), ('​c',​ 44)]
 +>>>​ dict(zip(a, c))
 +{'​a':​ 10, '​c':​ 44, '​b':​ 33}
 </​code>​ </​code>​
script/python/new/snippets.1360321706.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)