2012-05-15 12 views
10

Me gustaría utilizar un módulo esperado en python3. Hasta donde yo sé, ni Pexpect ni Fabric trabajan con python3. ¿Hay algún paquete similar que pueda usar? (En caso negativo, ¿alguien sabe si el soporte de py3 está en la hoja de ruta de cualquier proyecto?)¿Hay una implementación de 'esperar' o una biblioteca de esperar que funcione en python3?

No es necesario un conjunto de funciones perfectamente superpuestas. No creo que mi caso de uso sea necesario aquí, pero básicamente estoy reimplementando un script de Linux con un telnet con algunos comandos proporcionados por la configuración, pero ampliando la funcionalidad.

+4

¿Has probado usar 2to3 en pexpect para ver si funciona entonces? El fork esperado http://pypi.python.org/pypi/pexpect-u/ dice que funciona de esa manera, así que tal vez también lo haga. –

+1

@NiekdeKlein, 2to3 es una herramienta muy básica que no tiene en cuenta muchos problemas diferentes; Me sorprendería si un proyecto del tamaño de pexpect "simplemente funciona" simplemente ejecutando 2to3. Incluso si esto parece "funcionar", ¿cómo puede esperar obtener el apoyo del autor si algo sale mal? Por cierto, para todos los propósitos esenciales, Pexpect ha sido abandonado por Noah ... su última confirmación del código fuente fue en 2008 –

+0

@Mike Pennington. Estaba diciendo que funcionaba para un tenedor de pexpect, por lo que existe la posibilidad de que también funcione para Pexpect sí mismo. Se necesita un tiempo mínimo para probarlo (solo ejecute el programa y vea si funciona). Si no lo hace, no hay daño hecho. Si lo hace, mucho mejor. –

Respuesta

8

Como se mencionó Niek, me portado pexpect, y lo llamó pexpect-u (u para Unicode):

http://pypi.python.org/pypi/pexpect-u/

Se utiliza 2to3, pero tenía que hacer algunos cambios en el código también antes de que funcionase.

No estoy muy interesado en mantenerlo, pero no pude contactar al autor de pexpect, y sentí que era lo suficientemente útil como para valer la pena publicarlo. Si está interesado en trabajar en él, el código es on Bitbucket. Mi propia necesidad era muy básica, por lo que puede haber errores que no he encontrado.

+0

Como @belacqua señala en otra respuesta, Pexpect-u ahora está desaparecido, y Pexpect sí mismo es compatible con Python 3. –

2

Afortunadamente, pexpect ahora es compatible con Python 3 (a partir de 2013 si no antes).

Parece que @ThomasK ha podido agregar su funcionalidad pexpect-u Python 3 (con algunos cambios de API) nuevamente al proyecto principal. (¡Gracias, Thomas!)

Cuestiones relacionadas