IIC2233 / Syllabus-2024-1

77 stars 13 forks source link

No such file or directory al abrir el archivo json #509

Open enzoacvi opened 4 months ago

enzoacvi commented 4 months ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Duda

Hola! Al abrir el archivo json dentro de la carpeta del servidor, la terminal me dice que no existe el directorio. Estoy usando os.path.join y he revisado los nombres correctos. No sé qué sucede. Algo que sí me llama la atención es que el path.join al parecer está armando el path con doble \\ (backslash) cuando en terminal todas las rutas son con 1 backslash. Mi pregunta es, ¿a qué se debe que no encuentre la ruta indicada?

3rdPix commented 4 months ago

Desde dónde estás ejecutando tu código? Recuerda que la ruta es relativa a partir de donde estás ejecutando el código.

Respecto a dos backslash, no hay problema con eso, eso ocurre por el carácter de escape de los strings en python.

enzoacvi commented 4 months ago

He ejecutado desde la carpeta del servidor donde está el archivo json, y luego desde la carpeta de la T4

enzoacvi commented 4 months ago

Ya he visto el error, gracias!!

3rdPix commented 4 months ago

Excelente! En qué consistía ?

enzoacvi commented 4 months ago

Creo que no estoy seguro si se ha solucionado 😬 la tarea se ejecuta desde la carpeta T4 no? En ese caso cómo ejecutan el main.py del servidor para que este corra? Porque la ruta relativa que puse está de acorde con esta intrucción. El problema se soluciona si me pongo dentro de la carpeta del servidor y con path.join abro el archivo json, donde la ruta es solo este archivo.

3rdPix commented 4 months ago

Ah! La tarea se ejecuta desde diferentes carpetas porque representa diferentes entidades. En teoría, existe un servidor, y un computador distinto que se conecta a él. Como no tenemos servidor, tu computador las hará de ambas. Por eso, lo primero que se hace es ejecutar el archivo main del servidor, esto debería inicializar los puertos respectivos, de modo que estén escuchando nuevas conexiones; este debe permanecer corriendo durante toda la ejecución de tu tarea. Lo segundo, es ejecutar el main del cliente, el cual debe abrir el cliente propiamente tal e intentar conectarse al servidor. Por esto, la tarea se revisa desde mas de un terminal: uno para abrir y ejecutar el servidor, y otro para el cliente.

enzoacvi commented 4 months ago

Okey!! Entonces el main del servidor se ejecutaría desde la carpeta del servidor, y el main del cliente desde la carpeta del cliente??

3rdPix commented 4 months ago

Exacto!

enzoacvi commented 4 months ago

Muchas gracias !!