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
unset
es 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
exportar
de 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
unset
es lo que usaríamos si queremos borrar la variable de entorno del shell en el que estamos trabajando ahora. - El comando
exportar
es 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.pop
si 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