“Índice de lista fuera de rango” cuando se usa sys.argv

Estoy escribiendo un simple cliente y servidor Python, que funciona bien al pasar la dirección del servidor dentro de mi código, sin embargo, quiero que el usuario pueda ingresar la dirección del servidor y lanzar un error si es incorrecto. Cuando tengo el código que aparece a continuación, aparece un mensaje de error del terminal “índice de lista fuera de rango”.

server = (sys.argv[1]) serverAdd = (server, '65652') # server address and port number 

Puede alguien ayudarme con esto, por favor.

Cuando ejecuto mi progtwig cliente en Python, quiero poder ingresar una dirección para conectarme y almacenarla en el servidor. Ejecuto el progtwig directamente desde la línea de comandos al escribir programname.py. El servidor ya se está ejecutando escuchando las conexiones entrantes.

Related of "“Índice de lista fuera de rango” cuando se usa sys.argv"

Con este Python:

 import sys print(sys.argv) 

Y se invoca con este comando:

 >python q15121717.py 127.0.0.1 

Obtengo esta salida:

 ['q15121717.py', '127.0.0.1'] 

Creo que no estás pasando un argumento a tu script de Python

Ahora puede cambiar su código ligeramente para tomar un servidor desde la línea de comandos o solicitar un servidor cuando no se pasa ninguno. En este caso verías algo como esto:

 if len(sys.argv) > 1: print(sys.argv[1]) else: print(input("Enter address:"))