मेरे पिछले व्यक्तिगत प्रोजेक्ट में मुझे एक एपीआई कुंजी को सुरक्षित रूप से संग्रहीत करने की आवश्यकता थी। ऐसा करने का सबसे अनुशंसित तरीका उन्हें पर्यावरण चर के रूप में संग्रहीत करना प्रतीत होता है। चूंकि मेरी मशीन पर विभिन्न परियोजनाओं से ढेर सारे पर्यावरण चर संग्रहीत करना एक परेशानी है, इसलिए मुझे इस स्थिति से निपटने के लिए एक सरल विकल्प मिल गया है।
समाधान Python-dotenv मॉड्यूल का उपयोग करना है, जो एक अलग .env फ़ाइल में संग्रहीत चर का उपयोग करने के लिए हमारे कोड का समर्थन करता है जैसे कि वे नियमित पर्यावरण चर थे।
प्रक्रिया बेहद आसान है...
सबसे पहले हम एक .env फ़ाइल बनाते हैं जिसमें हम वेरिएबल्स संग्रहीत करते हैं:
# Definimos las variables en el archivo .env VARIABLE1 = "Valor 1" VARIABLE2 = "Valor 2"
यह फ़ाइल या तो रूट फ़ोल्डर में या हमारे प्रोजेक्ट के भीतर किसी अन्य स्थान पर बनाई जा सकती है।
हम अपने प्रोजेक्ट में dotenv मॉड्यूल और विशेष रूप सेload_dotenv फ़ंक्शन आयात करते हैं। .env:
की सामग्री लोड होने के बाद हमें पर्यावरण चर आयात करने के लिए ओएस मॉड्यूल भी आयात करना होगा।
from dotenv import load_dotenv import os
चूंकि यह एक देशी पायथन मॉड्यूल नहीं है, इसलिए इसे कमांड pip install Python-dotenv के साथ पिप के माध्यम से इंस्टॉल करने की आवश्यकता है।
load_dotenv() फ़ंक्शन प्रोग्राम में वेरिएबल को पर्यावरण चर के रूप में लोड करता है। मॉड्यूल का उपयोग करके हम उनके मूल्यों को पुनर्प्राप्त कर सकते हैं और उन्हें प्रोजेक्ट के भीतर वेरिएबल्स को असाइन कर सकते हैं:
# Cargamos las variables del archivo como variables de entorno. load_dotenv() # Se almacena el valor "Valor 1" de la primera variable. VARIABLE1 = os.getenv("VARIABLE1") # Otra forma de recuperar el valor de la variable. VARIABLE2 = os.environ.get("VARIABLE2")
यदि .env फ़ाइल उसी पथ में स्थित नहीं है जहां कोड निष्पादित होता है, तो हमें फ़ाइल का स्थान परिभाषित करना होगा:
load_dontenv(path="ruta/.env")
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3