Resolver OSError: [Errno 2] No existe tal archivo o directorio en Python
-
el
OSError: [Errno 2] No existe tal archivo o directorio
en Python -
Resuelva el
OSError: [Errno 2] No existe tal archivo o directorio
en Python
Cuando ejecutamos un programa en Python, a menudo enfrentamos errores. Este artículo discutirá el OSError: [Errno 2] No such file or directory
en Python.
el OSError: [Errno 2] No existe tal archivo o directorio
en Python
Este OSError: [Errno 2] No such file or directory
es generado por la biblioteca del sistema operativo. Este error ocurre cuando el archivo o directorio al que intentamos acceder no está disponible.
Ocurre debido a dos razones importantes. O el archivo o carpeta que intentamos abrir no existe, o estamos ingresando la ruta incorrecta de ese archivo o carpeta.
Python genera este error para informar al usuario que no puede ejecutar más el programa sin acceder al archivo al que se hace referencia en el programa. En la versión 3 de Python, obtenemos el FileNotFoundError: [Errno 2] No such file or directory
.
Este error es una subclase de OSError
, y ejecutamos este código en el sistema operativo Ubuntu.
Código de ejemplo:
# Python 3.x
import os
import sys
os.chdir(os.path.dirname(sys.argv[0]))
Obtenemos el siguiente resultado cuando ejecutamos el script usando python mycode.py
.
Producción :
#Python 3.x
Traceback (most recent call last):
File "mycode.py", line 3, in <module>
os.chdir(os.path.dirname(sys.argv[0]))
FileNotFoundError: [Errno 2] No such file or directory: ''
Resuelva el OSError: [Errno 2] No existe tal archivo o directorio
en Python
Cuando no especificamos una ruta, sys.argv[0]
accede a mycode.py
y os.path.dirname
no puede determinar la ruta. Podemos ejecutar el siguiente script para solucionar el error usando el comando python ./mycode.py
.
# Python 3.x
import os
import sys
os.chdir(os.path.dirname(sys.argv[0]))
print("Hello")
Producción :
#Python 3.x
Hello
Una forma alternativa de resolver este error es escribir el código anterior de la siguiente manera. Debido a que sys.argv[0]
es solo un nombre de secuencia de comandos y no un directorio, por lo tanto, os.path.dirname()
no devuelve nada.
Eso se convierte en una ruta absoluta correcta con el nombre del directorio usando os.path.abspath()
. Ejecutamos el siguiente código usando el comando python mycode.py
.
# Python 3.x
import os
import sys
os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
print("Hello")
Producción :
#Python 3.x
Hello
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python