Desactivar una variable de entorno de Linux en Python
- Desactivar una variable de entorno de Linux en Python
- Formas de desarmar una variable de entorno de Linux en Python
En este artículo, aprenderemos diferentes formas de desactivar una variable de entorno de Linux en Python. El método más útil es utilizar el comando unset.
Sin embargo, podemos usar varias otras formas de desactivar una variable de entorno de Linux en Python. Lea el artículo para explorar más.
Desactivar una variable de entorno de Linux en Python
Python funciona con diferentes sistemas operativos (SO). Linux es uno de los sistemas operativos en los que se puede utilizar Python.
Aunque podemos usar tanto Linux como Python, hay algunas diferencias entre los dos. Una de las diferencias que debemos considerar es cómo se interpretan las variables de entorno.
Podemos usar el método os.unsetenv() en Python si queremos desarmar una variable de entorno que configuramos previamente.
Esta función eliminará la variable de entorno del proceso actual y aceptará el nombre de la variable de entorno como argumento. Además, la función eliminará la variable de entorno del proceso actual.
Por lo tanto, es esencial recordar que anular la configuración de una variable de entorno de shell mediante Python no eliminará el valor del shell. Si la variable de entorno se establece en el shell, los procesos secundarios de Python seguirán teniendo acceso a ella incluso si se iniciaron después del proceso de Python.
El comando unset debe usarse si desea borrar una variable de entorno del shell.
Formas de desarmar una variable de entorno de Linux en Python
Python proporciona muchas opciones para eliminar y anular el valor de una variable de entorno en Linux en Python.
- Usar el comando
unsetes el enfoque más típico y común. Con este comando, la variable de entorno se eliminará del shell que ahora está activo. - El comando
exportarde Python ofrece un método adicional para borrar una variable de entorno de Linux que se configuró previamente. Este comando eliminará la variable de entorno del shell activo y cualquier proceso secundario. - Por último, otra opción es aprovechar la técnica
os.environ.pop. Después de ejecutar este método, la variable de entorno se eliminará del diccionarioos.environ.
La estrategia que elegimos se basa en los requisitos que tenemos.
- El comando
unsetes lo que usaríamos si queremos borrar la variable de entorno del shell en el que estamos trabajando ahora. - El comando
exportares lo que usaríamos si queremos borrar la variable de entorno del shell actualmente activo y cualquier proceso secundario. - Usamos la función
os.environ.popsi lo único que queremos es borrar la variable de entorno del diccionarioos.environ.
Use os.environ para eliminar o desarmar una de las variables de entorno
Al trabajar con Python en Linux, es posible que debamos eliminar o desactivar una de las variables de entorno.
Por ejemplo, si tenemos la variable de entorno PYTHONPATH configurada para apuntar a un lugar determinado y ahora deseamos eliminar esa configuración, podemos usar el código proporcionado en el siguiente ejemplo.
# import os library
import os
# Unset the path with the command
os.environ.pop("PYTHONPATH", None)
Esta acción eliminará la variable de entorno PYTHONPATH del diccionario os.environ. No pasará nada si la variable de entorno no se ha establecido en este caso.
Use del os.environ para desarmar una de las variables de entorno
También podemos usar la opción de usar el código que se presenta a continuación para borrar una variable de entorno.
# import operating system
import os
# use this command to unset
del os.environ["PYTHONPATH"]
Producción :
KeyError Traceback (most recent call last)
KeyError: 'PYTHONPATH'
Esta acción eliminará la variable de entorno PYTHONPATH del diccionario os.environ. Esto dará como resultado un KeyError si la variable de entorno no está configurada.
Use os.environ.unsetenv y os.environ para eliminar y reemplazar variables
Si queremos borrar el valor que se le asignó a la variable USUARIO y sustituirlo por la palabra nadie, se procederá de la siguiente manera:
import os
os.environ.unsetenv("USER")
os.environ["USER"] = "nobody"
El código anterior aclara el valor asignado a la variable USUARIO y lo reemplaza con la palabra nadie.
Use os.environ.unsetenv para Desarmar
Podemos omitir el segundo parámetro si todo lo que queremos hacer es borrar el valor de la variable. Por ejemplo, la variable USUARIO no se establecería si hiciera lo siguiente.
import os
os.environ.unsetenv("USER")
El código anterior borra el valor de la variable. La variable USUARIO no estaría configurada.
Utilice os.environ.get() para comprobar si una variable está configurada antes de desactivarla
También se puede comprobar si una variable se ha configurado antes de desactivarla con la ayuda de la función os.environ.get(). Si desea desarmar una variable solo si está configurada actualmente, puede utilizar esto a su favor.
Por ejemplo, lo siguiente solo eliminaría el valor de la variable USUARIO si ya estaba definida como nadie.
Código de ejemplo:
import os
if os.environ.get("USER") == "nobody":
os.environ.unsetenv("USER")
Como ya sabemos, borrar el valor de una variable no siempre significa eliminarla del entorno. No logra nada más que establecer el valor en una cadena vacía.
Puede usar la función os.environ.pop() si desea eliminar completamente una variable del entorno. Esta función eliminará la variable del entorno y devolverá el valor que tenía antes de eliminarla.
Código de ejemplo:
import os
prev_value = os.environ.pop("USER", None)
print(prev_value) # prints "nobody"
Producción :
nobody
Este código eliminará la variable USUARIO del entorno y devolverá el valor que estaba allí antes de eliminarlo.
Esperamos que este artículo de Python le resulte útil para comprender las formas de desactivar una variable de entorno de Linux en Python.
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn