Cómo usar SYS.camino.Agregar en Python

Cómo usar SYS.camino.Agregar en Python

Sys.Path es una lista de directorios donde el intérprete de Python busca módulos. Eso sí, esta es una lista! Cuando se reclama un módulo en un archivo de proyecto, buscará a través de cada uno de los directorios en la lista. Si el módulo se encuentra dentro de uno de esos directorios, entonces todo va bien y su proyecto se presenta con éxito. Sin embargo, si el módulo no se encuentra dentro de ninguno de los directorios enumerados, su proyecto fallará para que no pueda "agregar" el directorio donde su módulo se encuentra en la lista utilizando la función append (). En este tutorial, aprenderemos sobre cómo usar SYS.camino.append () en Python.

Lista de ruta actual

Al declarar lo siguiente, podemos verificar la ruta actual de Python:

Sys de importación
de Pprint import pprint
PPRINT (SYS.camino)

Aquí, el módulo PPRint se usa para hacer que las cosas se vean bonitas, por lo que puede ignorar esa parte y concentrarse en el resto. Todo lo que estamos tratando de hacer aquí es imprimir sys.camino.

Esto es lo que obtenemos:

Lo que notas aquí es que, en primer lugar, es una lista. Entonces, según la lista, primero buscará en el directorio de trabajo actual, luego en otros directorios uno por uno. El directorio de trabajo actual es el directorio en el que se encuentra el script principal de Python, el que se está ejecutando. Además, lo que esto también significa es que esta lista se puede modificar o editar.

Agregar un camino

El sys.camino.El método append () se usa específicamente para agregar una ruta a los existentes.

Supongamos ahora que tengo dos archivos distintos:.py y file1.py. Principal.Py es el archivo principal, y vamos a intentar importar archivo1.py (un módulo que escribimos).

principal.py archivo1.py
File de importación1
imprimir (archivo1.secreto)
secreto = "Esta es la frase secreta"

Porque archivo1.Py o nuestro módulo está dentro del directorio de trabajo, debería poder imprimir con éxito la oración secreta. Esto es así porque cuando el intérprete de Python busca el módulo solicitado, buscará primero en el directorio de trabajo y porque nuestro módulo llamado File1 está dentro del directorio de trabajo, imprimirá automáticamente nuestra oración secreta.

Ahora, supongamos que creo un directorio dentro de mi directorio de trabajo llamado "Directorio1" y coloque mi módulo llamado File1 dentro de él.

Ahora, dentro del archivo del módulo1 es la frase secreta que estamos tratando de imprimir. En este caso, no imprimirá la frase secreta. Por qué? Porque el intérprete no está buscando en "Directory1" para ningún módulo. En otras palabras, el directorio de trabajo actual es un miembro de la lista de SYS.ruta pero "Directory1" no es miembro de esa lista. Por lo tanto, el error resultante es un error modulenotfound: no pudo encontrar o localizar el módulo llamado file1.

Para evitar este problema, debe decirle al intérprete de Python dónde buscar el archivo del módulo1. Aquí es donde el sys.camino.El método append () entra en.

El sys.camino.El método append () se utiliza para agregar la ruta que queremos a la lista existente.

En un sistema Linux:

sys.camino.append ("/ruta/a/dir")

En un sistema de Windows, escribiría:

sys.camino.append ("C: \\ Path \\ a \\ Dir")

Tenga en cuenta que no puede agregar ningún archivo dado al SYS.ruta, en su lugar, puede agregar directorios y luego importar los archivos que desee.

Ejemplo 1

Entonces, intentemos la operación anterior (donde el módulo FILE1 se encuentra dentro del Directorio1) nuevamente, pero esta vez, agregaremos la ruta al módulo FILE1 a SYS.ruta usando el sys.camino.método append ().

principal.py archivo1.py
Sys de importación
sys.camino.append ('c: \\ users \\ nunca \\ pycharmprojects \\
pythonproject1 \\ directorio1 ')
File de importación1
imprimir (archivo1.secreto)
secreto = "Esta es la frase secreta"

Cuando agregamos la ruta usando el sys.camino.Método de append (), primero agregamos la ubicación del módulo a la ruta y luego lo importamos. Si se hace de tal manera, el intérprete de Python debe poder localizar el módulo solicitado y, por lo tanto, recuperar la variable secreta.

La salida de la operación anterior es la siguiente:

Ejemplo #2

Tomemos otro ejemplo, esta vez en una máquina Linux. Supongamos que tenemos un archivo - principal.py.

principal.py
Sys de importación
de Pprint import pprint
PPRINT (SYS.camino)

Aquí, sys.la ruta [0] es "/home/kalyani" porque ahí es donde principal.Py se encuentra.

Ahora, modificemos un poco el script usando el sys.camino.método append (). Usemos el método para agregar una ruta particular ('/home/kalyani/directorio1') a SYS.camino.

principal.py
Sys de importación
de Pprint import pprint
sys.camino.append ('/home/kalyani/directorio1')
PPRINT (SYS.camino)

Entonces, el sys.camino.El método append () ha agregado la ruta al final de la lista existente! Aquí, tenga en cuenta que también se realiza la agregada al final de la lista, no al principio.

Pitonpath

Hay un pequeño problema con lo que acabamos de hacer y es que no pusimos ese lugar permanentemente en el SYS.lista de rutas. El sys.camino.El método append () se usa para agregar temporalmente una ruta y, como tal, esa ruta sería válida para una sesión, por ejemplo,. Si desea alterar permanentemente el SYS.Lista de rutas, luego podemos usar PythonPath para agregar la ruta a la lista. Desde el sys.Path también analiza a Pythonpath, las ubicaciones enumeradas se incluirán en la lista de rutas.

En Linux:

Exportar pythonpath = '/rath/to/dir'
  1. En su máquina Linux, abra un terminal y navegue hasta la carpeta que contiene .bashrc.
  2. nano .bashrc
  3. Agregue lo siguiente al final del .Archivo BASHRC: Export pythonpath = '/home/kalyani/directorio1'

Aquí, puedes agregar el camino que quieras.

  1. Cierre la terminal y abra una nueva terminal
  2. Ahora, intente ejecutar su programa. En mi caso, será lo siguiente:
principal.py
Sys de importación
de Pprint import pprint
PPRINT (SYS.camino)

Al escribir programas complejos en Python, eventualmente agregaremos módulos de terceros o incluso mejor, crearemos nuestros propios módulos. En todos los casos, no podemos mantener todos los archivos de Python que creamos en un directorio, es posible que deseemos usar múltiples directorios para clasificar adecuadamente nuestros archivos. Sin embargo, el problema es que es posible que necesitemos importar nuestros módulos creados de izquierda a derecha. En tales casos, si queremos evitar un error de modulenotes, entonces podemos agregar la ubicación del directorio, y considerarlo, tiene que ser un directorio, no un archivo, a SYS.ruta usando el sys.camino.método append ().

Codificación feliz!