variable usuario restaurar las fms_home entorno encuentran donde configurar aplicaciones python environment-variables

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.