python - usuario - Configuración/lectura de variables de entorno
variable entorno path windows 10 (4)
Posible duplicado:
Cómo establecer variables ambientales en Python
Mi secuencia de comandos python que llama a muchas funciones python y scripts de shell. Quiero establecer una variable de entorno en Python (función de llamada principal) y todos los procesos hijas, incluidos los scripts de shell para ver la variable de entorno establecida.
Necesito establecer algunas variables ambientales como esta:
DEBUSSY 1
FSDB 1
1
es un número, no una cadena. Además, ¿cómo puedo leer el valor almacenado en una variable de entorno? (Como DEBUSSY
/ FSDB
en otra secuencia de comandos hija python).
Intenta usar el módulo os
.
import os
os.environ[''DEBUSSY''] = ''1''
os.environ[''FSDB''] = ''1''
# Open child processes via os.system(), popen() or fork() and execv()
someVariable = int(os.environ[''DEBUSSY''])
Vea los documentos de Python en os.environ
. Además, para generar procesos secundarios, vea los documentos del subproceso de Python.
Primero lo primero :) leer libros es un excelente enfoque para la resolución de problemas; es la diferencia entre las soluciones de parche e inversiones a largo plazo para resolver problemas. Nunca pierdas la oportunidad de aprender. :RE
Puede optar por interpretar el 1
como un número, pero a las variables de entorno no les importa. Simplemente pasan cadenas:
The argument envp is an array of character pointers to null-
terminated strings. These strings shall constitute the
environment for the new process image. The envp array is
terminated by a null pointer.
(Del medio environ(3posix)
.)
os.environ
variables de entorno en python utilizando el objeto os.environ
dictionary-like :
>>> import os
>>> os.environ["HOME"]
''/home/sarnold''
>>> os.environ["PATH"]
''/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games''
>>> os.environ["PATH"] = os.environ["PATH"] + ":/silly/"
>>> os.environ["PATH"]
''/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/silly/''
Si desea pasar variables globales a nuevas secuencias de comandos, puede crear un archivo de python que solo esté destinado a contener variables globales (por ejemplo, globals.py). Cuando importe este archivo en la parte superior del script secundario, debería tener acceso a todas esas variables.
Si escribe a estas variables, entonces esa es una historia diferente. Eso implica la concurrencia y el bloqueo de las variables, que no voy a entrar a menos que lo desee.
Utilice os.environ[str(DEBUSSY)]
para leer y escribir ( http://docs.python.org/library/os.html#os.environ ).
En cuanto a la lectura, tienes que analizar el número de la cadena, por supuesto.