Lista de ruta actual
Al declarar lo siguiente, podemos verificar la ruta actual de Python:
Sys de importaciónAquí, 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'Aquí, puedes agregar el camino que quieras.
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!