Foros del Web » Programando para Internet » Python »

FAQ's de Python

Estas en el tema de FAQ's de Python en el foro de Python en Foros del Web. Pregunta: ¿Cómo autenticarse en un servidor LDAP? Respuesta: 1. http://www.python-ldap.org/download.shtml 2. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original import ldap   try :     l ...

  #31 (permalink)  
Antiguo 20/09/2011, 19:35
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: FAQ's de Python

Pregunta: ¿Cómo autenticarse en un servidor LDAP?


Respuesta:

1. http://www.python-ldap.org/download.shtml

2.
Código Python:
Ver original
  1. import ldap
  2.  
  3. try:
  4.     l=ldap.initialize("ldap://12.34.56.78:389")
  5.     l.protocol_version = ldap.VERSION3
  6.     usuario="cn=saulortega,ou=Usuarios,dc=dominio,dc=co"
  7.     clave="Saul0rtega"
  8.     l.simple_bind_s(usuario, clave)
  9.     print "¡CONECTADO!"
  10.     l.unbind_s()
  11.  
  12. except ldap.LDAPError, e:
  13.     print "Autenticación fallida: ",e

Última edición por saulortega; 21/09/2011 a las 19:53
  #32 (permalink)  
Antiguo 03/12/2011, 13:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 10 meses
Puntos: 1485
Respuesta: FAQ's de Python

Pregunta: ¿Cómo borrar el historial de comandos en Python Shell (IDLE)?

Nota: es similar a la aportación de David, solo que dicha solución no funciona en el shell IDLE de python 2.7.2 bajo Windows XP.

Fuentes:
http://bugs.python.org/issue6143
http://bugs.python.org/file14303/ClearWindow.py


Respuesta:
consiste en una extensión que se integra en IDLE. para ello, debes copiar un script y guardarlo en la ruta /lib/idlelib/ del directorio donde se instaló python. dicho script es el siguiente:
Código python:
Ver original
  1. """
  2.  
  3. Clear Window Extension
  4. Version: 0.2
  5.  
  6. Author: Roger D. Serwy
  7.        [email][email protected][/email]
  8.  
  9. Date: 2009-06-14
  10.  
  11. It provides "Clear Shell Window" under "Options"
  12. with ability to undo.
  13.  
  14. Add these lines to config-extensions.def
  15.  
  16. [ClearWindow]
  17. enable=1
  18. enable_editor=0
  19. enable_shell=1
  20. [ClearWindow_cfgBindings]
  21. clear-window=<Control-Key-l>
  22.  
  23.  
  24. """
  25.  
  26. class ClearWindow:
  27.  
  28.     menudefs = [
  29.         ('options', [None,
  30.                ('Clear Shell Window', '<<clear-window>>'),
  31.        ]),]
  32.          
  33.     def __init__(self, editwin):
  34.         self.editwin = editwin
  35.         self.text = self.editwin.text
  36.         self.text.bind("<<clear-window>>", self.clear_window2)
  37.  
  38.         self.text.bind("<<undo>>", self.undo_event)  # add="+" doesn't work
  39.  
  40.     def undo_event(self, event):
  41.         text = self.text
  42.        
  43.         text.mark_set("iomark2", "iomark")
  44.         text.mark_set("insert2", "insert")
  45.         self.editwin.undo.undo_event(event)
  46.  
  47.         # fix iomark and insert
  48.         text.mark_set("iomark", "iomark2")
  49.         text.mark_set("insert", "insert2")
  50.         text.mark_unset("iomark2")
  51.         text.mark_unset("insert2")
  52.        
  53.  
  54.     def clear_window2(self, event): # Alternative method
  55.         # work around the ModifiedUndoDelegator
  56.         text = self.text
  57.         text.undo_block_start()
  58.         text.mark_set("iomark2", "iomark")
  59.         text.mark_set("iomark", 1.0)
  60.         text.delete(1.0, "iomark2 linestart")
  61.         text.mark_set("iomark", "iomark2")
  62.         text.mark_unset("iomark2")
  63.         text.undo_block_stop()
  64.         if self.text.compare('insert', '<', 'iomark'):
  65.             self.text.mark_set('insert', 'end-1c')
  66.         self.editwin.set_line_and_column()
  67.  
  68.     def clear_window(self, event):
  69.         # remove undo delegator
  70.         undo = self.editwin.undo
  71.         self.editwin.per.removefilter(undo)
  72.  
  73.         # clear the window, but preserve current command
  74.         self.text.delete(1.0, "iomark linestart")
  75.         if self.text.compare('insert', '<', 'iomark'):
  76.             self.text.mark_set('insert', 'end-1c')
  77.         self.editwin.set_line_and_column()
  78.  
  79.         # restore undo delegator
  80.         self.editwin.per.insertfilter(undo)

tal como indica las instrucciones, debes agregar la siguiente configuración al archivo config-extension.def
Código:
[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>
debes reiniciar python shell para que tome efecto. para utilizarlo, puedes presionar la combinación CTRL + L o en Options > Clear Shell Window.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 03/12/2011 a las 13:38
  #33 (permalink)  
Antiguo 30/05/2012, 07:54
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: FAQ's de Python

Pregunta: ¿Qué editor utilizar para programar en Python?
Respuesta: Depende de tu nivel de experiencia. Si ya programas en otro lenguaje, seguramente el editor que usabas te sirve igualmente para Python, este es el caso de los editores simples con coloreado de código (Geany, Bluefish, Notepad++, etc) y de los IDE (Eclipse, VisualStudio, NetBeans)

Si estás comenzando desde el principio, la recomendación general es Eclipse con el plugin PyDev, o Aptana Studio (que es más completo e incluye a eclipse y pydev).

Mucha gente recomienda también el IDE integrado en la distribución de Python: IDLE.
Otros dignos de mención son PyScripter, Eric, o Komodo Edit.

En StackOverflow puede encontrarse una buena comparativa de las características de varios editores.

Por último, la Python Wiki contiene un listado bastante completo de los editores disponibles:
  #34 (permalink)  
Antiguo 05/06/2012, 13:03
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: FAQ's de Python

Pregunta: ¿Con que versión debo empezar?

Respuesta:
De momento (Jun 2012) recomendamos que siempre empieces con la ultima versión de python 2.x, ya que es mas estable, tiene mayor cantidad de librerías y frameworks.

Python 3.x todavía es una tecnología que empezando y que falta madurar, no todas las librerías están disponibles o no estan portadas al 100%

Recomendamos aprender python 2.x y cuando llegue el momento dar el brinco a python 3.x
  #35 (permalink)  
Antiguo 20/01/2013, 07:29
 
Fecha de Ingreso: noviembre-2012
Mensajes: 111
Antigüedad: 11 años, 4 meses
Puntos: 6
Respuesta: FAQ's de Python

Pregunta: Cómo instalar desde cero en Windows Python + Eclipse (Entorno de trabajo) + GIT (Control de versiones)?

Respuesta:

Siguiendo este sencillo tutorial en español:
http://www.leccionespracticas.com/in...n-entorno-git/
  #36 (permalink)  
Antiguo 27/01/2013, 19:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: FAQ's de Python

Advertencia: Probablemente lo que sea que estas tratando de hacer lo estas haciendo mal
Pregunta: ¿Como usar variables globales?
Respuesta:
Antes de usar cualquier variable, ya sea global o no, hay una sola condición que debe de cumplir y esto es haberle asignado un valor previamente.

Accediendo a variables globales

Ejemplo:
Código Python:
Ver original
  1. # Esto va  a fallar miserablemente
  2. print x

Código Python:
Ver original
  1. # Esto va  a imprimir 10
  2. x = 10
  3. print x

Las variables globales no son una excepción.

Código Python:
Ver original
  1. # Esto va a fallar en grande
  2. # Por que la funcion f es llamada
  3. # antes que x sea asignado
  4. def f():
  5.     print x
  6. f()
  7. x = 10


Código Python:
Ver original
  1. # Sorprendentemente esto va a funcionar
  2. # Por que x es asignado
  3. # antes de llamar a la funcion f
  4. def f():
  5.     print x
  6. x = 10
  7. f()

La clave en variables globales es entender como funciona el alcance de las variables.

Por ejemplo python siempre trata de buscar primero en las variables locales, si existe usa esa referencia. Si no sube de nivel y trata de reconocer la variable hasta llegar a el alcance de nivel modulo.


Asignando valores a las variables globales

Modificar el valor de una variable global es un proceso un poco menos intuitivo

Código Python:
Ver original
  1. x = 10 # Mi variable global. Alcance: Modulo
  2. def f():
  3.     # Aqui NO estas asignando un valor a tu variable global
  4.     # Aqui estas creando una variable local
  5.     x = 20
  6.     print "variable local", x
  7. f()
  8. print "variable global", x

Entonces para modificar el valor de una variable global, debes de hacer 2 cosas, la primera es decirle de manera explicita a python que queremos referenciar a x como una variable global.
Código Python:
Ver original
  1. x = 10 # Mi variable global. Alcance: Modulo
  2. def f():
  3.     # Aqui definimos explicitamente que x es nuestra variable global
  4.     global x
  5.     # Aqui asignamos un nuevo valor a x (global)
  6.     x = 20
  7.     print "variable global", x
  8. f()
  9. print "variable global", x

Etiquetas: faq
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 22 personas




La zona horaria es GMT -6. Ahora son las 04:19.