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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Ayuda] Python - SyntaxError: invalid syntax
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Python - SyntaxError: invalid syntax  (Leído 4,984 veces)
W17CH3R

Desconectado Desconectado

Mensajes: 100



Ver Perfil
[Ayuda] Python - SyntaxError: invalid syntax
« en: 1 Agosto 2021, 12:24 pm »

Hola a todos, la verdad llevo ya bastantes días quebrandome la cabeza, con un error que tengo en una línea de código en Python, cuando voy a ejecutar el código me manda el siguiente error en la línea 26:

Código
  1.  File "scan_port.py", line 26
  2.    except hostname.error:
  3.         ^
  4. SyntaxError: invalid syntax
  5.  

Probado con poner # al lado del comentario para ver si solo era ese error, y la verdad que no entiendo cual es el origen, porque me sigue diciendo que hay un error en la sinstasis.

Aquí pongo el codigo donde me indica donde esta el error (la verdad no le veo donde esta el error..)

Código
  1. except hostname.error:
  2. print ("No puede resolver el hostname")
  3. sys.exit()

Aquí les dejo el código completo del programa, para saber si pase algo por alto, porque no le encontre ningún error  :-\

Código
  1. # -------------------------------------------------------------------------------------------------
  2. # ESCANER DE PUERTOS
  3. # -------------------------------------------------------------------------------------------------
  4.  
  5. import nmap
  6. import socket
  7. import datetime
  8. import sys
  9. import os
  10. now = datetime.datetime.now()
  11. netmap = nmap.pScan.log()
  12. remoteServer = input('Enter host:\n')
  13. try:
  14. remoteServerIP = socket.gethostbyname(remoteServer)
  15. portRange = input('Escribe el rango del puerto usando - como separador:\n')
  16. print ('-' * 60)
  17. print ('Por favor espere, escaneando host remoto', remoteServerIP)
  18. print ('-' * 60)
  19. t1 = datetime.datetime.now()
  20. netmap.scan(remoteServerIP, portRange)
  21.  
  22. except KeyboardInterrupt:
  23. print ("Mantenga pulsado Ctrl+C")
  24. sys.exit()
  25.  
  26. except hostname.error:
  27. print ("No puede resolver el hostname")
  28. sys.exit()
  29.  
  30. except socket.error:
  31. print ("No puede conectarse al servidor")
  32. sys.exit()
  33.  
  34. with open ("pScan.log", "a") as out:
  35. for host in netmap.all_hosts():
  36. print ('Host : ' + host + '(' + netmap[host].hostname() + ')')
  37. out.write('Host : ' + host + '(' + netmap[host].hostname() + ')\n')
  38. print ('State : %s' % netmap[host].state())
  39. out.write('State : %s' % netmap[host].state()+"\n")
  40. for proto in netmap[host].all_protocols():
  41. print ('----------')
  42. out.write('----------\n')
  43. print ('Protocol : %s' % proto)
  44. out.write('Protocol : %s' % proto+"\n")
  45. lport = sorted(netmap[host][proto])
  46.  
  47. for port in lport:
  48. print ('Port : %s\nState : %s' % (port, netmap[host][proto][port]['state']))
  49. out.write('Port : ' + str(port) + '\nState  : ' + str(netmap[host][proto][port]['state'])+"\n")
  50. print ('Name : '+netmap[host][proto][port]['name'])
  51. out.write('Name : '+netmap[host][proto][port]['name']+"\n")
  52. temp2 = str(now.year) + "/" + str(now.month) + "/" + str(now.day) + " "  + str(now.hour) + ":" + str(now.minute) + ":" + str(now.second)
  53. print ("Date : " + temp2 + "\n\n")
  54. out.write("Date : " + temp2 + "\n\n")
  55. t2 = datetime.datetime.now()
  56. total = t2 - t1
  57. print ("Escaner es completado en ", str(total))
  58. out.write("\nEscaner es completado en "+ str(total)+"\n")
  59. print ('\n\nCSV:\n'+netmap.csv())
  60. out.write('\n\nCSV:\n'+netmap.csv()+"\n")

No entiendo que habré hecho mal, la verdad hace tiempo que no escribo en python, y no se que hacer ya para solucionarlo, porque aun añadiendo un comentario al lado del código me salta el mismo error pero en la línea 30 :huh:


« Última modificación: 1 Agosto 2021, 12:31 pm por W17CH3R » En línea

La importancia de los Datos es la importancia de los Recuerdos.
fzp

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #1 en: 1 Agosto 2021, 15:18 pm »

Perdón si escribo alguna burrada/obviedad, Python sólo he visto algo muy por encima. Pero bueno, si es el caso, con pasar de mi comentario, ya no hay problema.

En la sintaxis de Python ¿detrás de "except" se admiten expresiones que incluyan un punto?

Código
  1. except hostname.error:

Este tipo de código ¿no suele escribirse así?

Código
  1. except HostnameError:

En la línea 30 vuelve a haber lo mismo, un "except" con una expresión con punto ".". En cambio, en la 22 no (except KeyboardInterrupt: - no hay punto). Al ser Python interpretado, en el primer caso no llega a la línea 30. Cuando pones el primer error como comentario, te salta el error en el segundo.

Ya digo, es sólo una idea. Perdón si he hecho perder el tiempo a alguien. Como lleva ya rato sin contestación he querido echar una mano, pero igual he puesto una incoveniencia.


En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.843


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #2 en: 1 Agosto 2021, 15:23 pm »

Hola, aquí te dejo información sobre ese tipo de error en específico:

https://stackoverflow.com/questions/11618118/python-check-if-a-hostname-is-resolved

en teoría ese tipo de error no existe así tal como lo estás intentando usar:

hostname.error

Por otro lado te recomiendo mucho que uses una función en vez de tener el código así suelto sin estructurar.


Saludos
En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #3 en: 1 Agosto 2021, 15:34 pm »

Hola, no se que versión de Python estás usando pero te voy a redirigir a aqui (Python 3.8)

Entonces, el problema que le veo a tu codigo es con las lineas:

Código
  1. sys.exit()

Que estan fuera de la ejecución del bloque del
Código
  1. except

Esto:

Código
  1. except hostname.error:
  2. print ("No puede resolver el hostname")
  3. sys.exit()

Debiera ser así:

Código
  1. except hostname.error:
  2. print ("No puede resolver el hostname")
  3.        sys.exit()

Ejemplo:

Código
  1. import sys
  2.  
  3. try:
  4.    a = 0
  5.    b = 1/0
  6. except ZeroDivisionError:
  7.    print("DIVISION")
  8.    sys.exit()
  9. except Exception:
  10.    print("EXCEPTION")
  11.  

NOTA: Este código no tiene ningun sentido, solo para demostrar el punto.

Salu2s, espero te ayude
En línea

W17CH3R

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #4 en: 1 Agosto 2021, 22:44 pm »



En la línea 30 vuelve a haber lo mismo, un "except" con una expresión con punto ".". En cambio, en la 22 no (except KeyboardInterrupt: - no hay punto). Al ser Python interpretado, en el primer caso no llega a la línea 30. Cuando pones el primer error como comentario, te salta el error en el segundo.

Ya digo, es sólo una idea. Perdón si he hecho perder el tiempo a alguien. Como lleva ya rato sin contestación he querido echar una mano, pero igual he puesto una incoveniencia.


Aun quitando el punto y dejando solamente hostname sige dandome el error, ni idea que será  :huh:



Hola, aquí te dejo información sobre ese tipo de error en específico:

https://stackoverflow.com/questions/11618118/python-check-if-a-hostname-is-resolved

en teoría ese tipo de error no existe así tal como lo estás intentando usar:

hostname.error

Por otro lado te recomiendo mucho que uses una función en vez de tener el código así suelto sin estructurar.


Gracias, le echaré un vistazo, lo tendré más en cuenta usar function


Hola, no se que versión de Python estás usando pero te voy a redirigir a aqui (Python 3.8)

Entonces, el problema que le veo a tu codigo es con las lineas:

Código
  1. sys.exit()

Que estan fuera de la ejecución del bloque del
Código
  1. except

Esto:

Debiera ser así:

Código
  1. except hostname.error:
  2. print ("No puede resolver el hostname")
  3.        sys.exit()

Ejemplo:

Código
  1. import sys
  2.  
  3. try:
  4.    a = 0
  5.    b = 1/0
  6. except ZeroDivisionError:
  7.    print("DIVISION")
  8.    sys.exit()
  9. except Exception:
  10.    print("EXCEPTION")
  11.  

NOTA: Este código no tiene ningun sentido, solo para demostrar el punto.

Salu2s, espero te ayude

Muchas gracias!!! eres un genio!!! bueno ya no me dio más el error en la sintaxis   ;-)
pero tendré muy en cuenta en donde cometí mi error de poner código fuera de la ejecución del bloque, aunque me esta dando ahora trabas con la línea 10, que no le veo sentido cuando antes no me dio ningún error, y al soluciónar el posicionamiento del sys.exit() fue cuando me dio el siguiente mensaje en el terminal...

Citar
línea 10: `now = datetime.datetime.now()'

Me has ayudado un monton con Aun me queda mucho por aprender de Python, y se que si logrará mejorar podría lograr programar muy buenas herramientas, acabo de mirar ahora mismo para ver que versión de Python tengo y es la versión 2.7.17, me recomiendas cambiarme a la versión 3??
En línea

La importancia de los Datos es la importancia de los Recuerdos.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #5 en: 2 Agosto 2021, 14:13 pm »

De nada! ¿Cuál es el error que te da en la linea 10?

Código
  1. now = datetime.datetime.now()

Citar
me recomiendas cambiarme a la versión 3??

Realmente, creo que sería una buena idea. Python 2 todavía es utilizado en algunos contextos porque existen librerias que todavía no tienen soporte en Python 3, pero poco a poco todas se han ido portando a la versión 3. Esta versión del lenguaje sigue siendo mantenida y cada cierto tiempo aparecen nuevas versiones con mejoras y nuevas características.
En línea

W17CH3R

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: [Ayuda] Python - SyntaxError: invalid syntax
« Respuesta #6 en: 2 Agosto 2021, 18:52 pm »

De nada! ¿Cuál es el error que te da en la linea 10?


Literalmente lo que ves en la captura cuando lo ejecuto.

Código
  1. now = datetime.datetime.now()

 y sí es en esa misma línea de código donde me da el siguiente error.




Realmente, creo que sería una buena idea. Python 2 todavía es utilizado en algunos contextos porque existen librerias que todavía no tienen soporte en Python 3, pero poco a poco todas se han ido portando a la versión 3. Esta versión del lenguaje sigue siendo mantenida y cada cierto tiempo aparecen nuevas versiones con mejoras y nuevas características.

Entonces también la versión 3 es mucho más estable que la 2?? aunque no se si puedo actualizar python directamente a la versión 3, o tener que desinstalarlo y volverlo a instalar pero como python3.
En línea

La importancia de los Datos es la importancia de los Recuerdos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SQL Express 2005 syntax error... AYUDA! « 1 2 »
Bases de Datos
TwisteD420 10 7,868 Último mensaje 15 Junio 2011, 03:41 am
por TwisteD420
Python: Syntax error en "def" o_o
Scripting
S3kh 1 3,237 Último mensaje 14 Agosto 2011, 01:02 am
por criskapunk
[Ayuda] SQL syntax error
PHP
K4sS- 1 1,952 Último mensaje 26 Agosto 2012, 00:47 am
por alexander1712
invalid input syntax
Programación C/C++
m@o_614 0 1,630 Último mensaje 4 Mayo 2013, 18:25 pm
por m@o_614
[PYTHON] Error: invalid syntax
Scripting
jalbtercero 2 3,463 Último mensaje 31 Enero 2015, 20:15 pm
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines