elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  convertir code de python2 a 3.7
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: convertir code de python2 a 3.7  (Leído 3,360 veces)
sytem200

Desconectado Desconectado

Mensajes: 49


Ver Perfil
convertir code de python2 a 3.7
« en: 3 Agosto 2019, 04:55 am »

alguien podria brindarme un poco de su conocimiento  tengo  un cliente y un servidor pero creo que esta echo en python 2.x   podrian decirme los errores o cuales codigos modificar para que sea a  python 3.7 gracias

servidor
Código:
import socket
import threading
import commands

def conexiones(socket_cliente):
    peticion = socket_cliente.recv(1024)
    print "[*] Mensaje recibido: %s" % peticion
    respuesta = commands.getoutput(peticion)
    socket_cliente.send(respuesta)
    socket_cliente.close()

ip = "0.0.0.0"
puerto = 5555
max_conexiones = 5
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

servidor.bind((ip, puerto))
servidor.listen(max_conexiones)

print "[*] Esperando conexiones en %s:%d" % (ip, puerto)

while True:
    cliente, direccion = servidor.accept()
    print "[*] Conexion establecida con %s:%d" % (direccion[0] , direccion[1])
    conexiones = threading.Thread(target=conexiones, args=(cliente,))
    conexiones.start()


Cliente
Código:
import socket

servidor = "127.0.0.1"
puerto = 5555

cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cliente.connect((servidor, puerto))
cliente.send("ls /");
respuesta = cliente.recv(4096)
print "[*] Respuesta recibida: "+respuesta
[code]
[/code]


En línea

Aguijon_zerO

Desconectado Desconectado

Mensajes: 25


Jod@nse---


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #1 en: 3 Agosto 2019, 05:20 am »

alguien podria brindarme un poco de su conocimiento  tengo  un cliente y un servidor pero creo que esta echo en python 2.x   podrian decirme los errores o cuales codigos modificar para que sea a  python 3.7 gracias

servidor
Código:
import socket
import threading
import commands

def conexiones(socket_cliente):
    peticion = socket_cliente.recv(1024)
    print "[*] Mensaje recibido: %s" % peticion
    respuesta = commands.getoutput(peticion)
    socket_cliente.send(respuesta)
    socket_cliente.close()

ip = "0.0.0.0"
puerto = 5555
max_conexiones = 5
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

servidor.bind((ip, puerto))
servidor.listen(max_conexiones)

print "[*] Esperando conexiones en %s:%d" % (ip, puerto)

while True:
    cliente, direccion = servidor.accept()
    print "[*] Conexion establecida con %s:%d" % (direccion[0] , direccion[1])
    conexiones = threading.Thread(target=conexiones, args=(cliente,))
    conexiones.start()


Cliente
Código:
import socket

servidor = "127.0.0.1"
puerto = 5555

cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cliente.connect((servidor, puerto))
cliente.send("ls /");
respuesta = cliente.recv(4096)
print "[*] Respuesta recibida: "+respuesta
[code]
[/code]


Otra infeliz victima de "Aprende Python 2.x por que tiene mas soporte"...

- En primer lugar.. decídete si vas a identar tabulando o espaciando el codigo por que en 3.x no se tolera esa mezcla.

- Despidete de commands, eso ya esta muy viejo, Utiliza el modulo subprocess.

- 3.x es muy estricto con el envio de bytes, asi que encodea el mensaje antes de enviarlo si esta en formato string y decodificalo al recibirlo si lo piensas leer.

Te doy esas pistas para que lo analises pero no te lo doy resuelto  por que aqui no hacemos tareas.

Es un poco tedioso pasar de 2.x a 3.x pero a todos les llega el dia del juicio..


« Última modificación: 3 Agosto 2019, 05:24 am por AguijoN_ZerO » En línea

HACKING / CiberSecurity:
 https://seguridadaguijon.blogspot.com/
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #2 en: 3 Agosto 2019, 05:20 am »

1)
Citar
tengo  un cliente y un servidor pero creo que esta echo en python 2.x
fijate si anda en python 3.x y ahí sabrás si anda o no

2)
Citar
podrian decirme los errores o cuales codigos modificar para que sea a  python 3.7

python trae por defecto un conversor de 2.x a 3.x
2to3.py fijate como se usa y listo
En línea

sytem200

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #3 en: 3 Agosto 2019, 05:35 am »

gracias por su respuesta pero yo no estoy usando python2  y este code esta en python 2 queria convertirlo a python 3  y  e probado 2to3.py y solo sirve para la function print()
En línea

Aguijon_zerO

Desconectado Desconectado

Mensajes: 25


Jod@nse---


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #4 en: 3 Agosto 2019, 05:52 am »

2to3.py es basura, solo ignora eso.. ni siquiera te conviene por que para adaptarse a los cambios lo mejor es escribirlo todo desde el principio manualmente si tienes pensado aprender python3  .. cuando notes las diferencias tu mismo podras crear un programa de iteracion con expresiones regulares para hacer las conversiones.. Solo sigue las pistas que te di, no es tan dificil como parece..
« Última modificación: 3 Agosto 2019, 06:08 am por AguijoN_ZerO » En línea

HACKING / CiberSecurity:
 https://seguridadaguijon.blogspot.com/
sytem200

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #5 en: 3 Agosto 2019, 06:05 am »

ok muchas gracias
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: convertir code de python2 a 3.7
« Respuesta #6 en: 3 Agosto 2019, 06:17 am »

Citar
2to3.py es basura, solo ignora eso..
a veces me olvido que no todos entienden lo que es el sarcasmo.
para alguien que espera todo servido por lo menos que busquen algo, ese script no lleva más de un minuto para desarrollarse, pero no le hago deberes a nadie que no intente nada.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: convertir code de python2 a 3.7
« Respuesta #7 en: 3 Agosto 2019, 07:30 am »

Siempre que una persona me pregunta si debe aprender python 2 o 3 le digo que 3.

Python 3 no es un poco diferente, es muy diferente, una ves que te acostumbras a programar para python2 es un tanto complicado acostumbrarse a python3 ya que te deja algunas malas prácticas al utilizar cosas que ya están obsoletas.

Que cambios básicos notarás en python 3?:

- Identación.
- Codificación de caracteres mas estricto.
- Manejo de importación de módulos (rutas en el fs).
- Librerías nativas alternativas (muchas librerías nativas de python2 ya no son compatibles como urllib).
- Manejo de memoria e hilos de proceso.
- Cambio en la llamada a funciones (se agregan parentesis, ya no puedes argumentar con espacios).
- Formato especial de print, formato de texto, manejo de salto de linea, flush implicito y explicito, etc.
- Etc.

Por otro lado, no es llegar y reemplazar cosas para psar de python 2 a 3, debes plantear rehacer el script de cero, por ejemplo, algunas librerías de python 2 ya no funcionan de la misma manera que en el 3, por ejemplo, en python 2 no es muy estricto en cuanto al manejo de strings vs bytes pero en el 3 si y por eso muchos códigos dan error al traducir las funciones, lo mismo sucede con algunos operadores lógicos y matemáticos como el padding de bytes. El otro día estuve portando una función de paquetes TCP a bajo nivel de python 2 a python 3 y tuve que utilizar operadores y funciones totalmente diferentes.

En tu caso no es mucho lo que hay que cambiar, intenta utilizar print con parentesis, reemplazar los strings por bytes y prueba ejecutandolo desde python 3.
« Última modificación: 3 Agosto 2019, 07:32 am por WHK » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Novato en Python2.7.2
Scripting
Deneb_Algebi 2 2,502 Último mensaje 23 Marzo 2012, 19:54 pm
por Eleкtro
MOVIDO: Novato en Python2.7.2
Programación General
Aprendiz-Oscuro 0 1,433 Último mensaje 12 Marzo 2012, 03:22 am
por Aprendiz-Oscuro
[Python2] Pyro: Busca servidores en la red
Scripting
wlan0 2 2,282 Último mensaje 8 Mayo 2013, 21:26 pm
por daryo
[SOURCE-CODE] Telerik Code Converter Client for Windows - by Elektro Studios « 1 2 »
.NET (C#, VB.NET, ASP)
Eleкtro 10 11,861 Último mensaje 12 Noviembre 2017, 13:04 pm
por Eleкtro
[SOURCE-CODE] Telerik Code Converter for Visual Studio - by Elektro Studios
.NET (C#, VB.NET, ASP)
Eleкtro 1 5,290 Último mensaje 12 Noviembre 2017, 13:05 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines