Contamos con el hallazgo a este atolladero, o por lo menos eso esperamos. Si sigues con alguna inquietud coméntalo, para nosotros será un placer ayudarte
Solución:
No sé si esto es lo que estabas buscando, pero terminé aquí mientras intentaba guardar un diccionario como una variable de entorno de Linux para consumirlo en mi aplicación.
Lo que hice fue guardarlo como un string Me gusta esto:
export BUILDING_ADMINS="'+27792955555': 'De Wet','+27722855555': 'Marysol','+27878085555': 'Blomerus''
Y luego, en su código python, lo lee y lo transforma en un diccionario usando esto (tomado de: ¿Convertir una representación de cadena de un diccionario en un diccionario?):
import ast
import os
ba_dict = ast.literal_eval(os.environ["BUILDING_ADMINS"])
si escribes
type(ba_dict)
Deberías ver tu string ahora es un dictado.
¡Espero que esto ayude a alguien más!
Una variable de entorno no es algo que a un usuario de script le gustaría establecer. Utilizar el json
módulo y un archivo:
import json
with open('numbers') as f:
numbers = json.load(f)
print numbers['+27792955555'] # De Wet
Al empujar a GitHub, no confirme el numbers
expediente. Tal vez confirme uno de ejemplo y agregue el real a su .gitignore
.
Si elige usar el entorno, debe serializar el diccionario de Python como JSON y volcarlo/cargarlo al configurar/obtener la variable de entorno. Puede acceder al entorno utilizando os
del módulo environ
attribute. Puede volcar/cargar JSON usando el json
módulo. Es posible que desee tener cuidado con la longitud máxima de las variables de entorno si existe tal cosa.
Si yo fuera usted, usaría una base de datos sqlite, consulte https://docs.python.org/2/library/sqlite3.html. Esto le daría persistencia, un esquema definido y una buena interfaz para manejar sus datos.
Al final de todo puedes encontrar las aclaraciones de otros administradores, tú además eres capaz mostrar el tuyo si te apetece.