راهنمای سریع برای استفاده از متغیرهای محیطی در پایتون

شکل ۱. استفاده از متغیرهای محیطی در پایتون
شکل ۱. استفاده از متغیرهای محیطی در پایتون
منتشر‌شده در: towardsdatascience به تاریخ ۱۳ ژوئن ۲۰۲۱
لینک منبع The Quick Guide To Using Environment Variables in Python

در کار روزانه ما، همه ما نیاز به پنهان کردن چیزهای خاص از برنامه کاربردی خود قبل از به اشتراک گذاری آن‌ها در یک سیستم کنترل نسخه عمومی، مانند Git را داریم.

شما می‌توانید با نام پایگاه‌داده SQL و URL های خود، رمزهای عبور آن‌ها، برخی کلیدهای مخفی مرتبط با گروه‌های کاربر پلت فرم Google Cloud یا AWS، اسرار API،... سر و کار داشته باشید.

هر برنامه کاربردی ویژگی‌های خاص خود را دارد، و همیشه زمانی وجود دارد که ما ترجیح می‌دهیم برخی از این اسرار برنامه‌های کاربردی را به طور مستقیم در کدباز خود کدگذاری نکنیم.

خوب، برای ما خوش‌شانس هستیم، ما مفهوم متغیرهای محیطی را داریم، که راهی عالی برای پیکربندی برنامه پایتون ما فراهم می‌کند، که نیاز به ایجاد هر گونه تغییر در کد منبع ما در هنگام برخورد با چنین رازهایی را از بین می‌برد.

در این مقاله کوچک، من روش‌هایی را به اشتراک می‌گذارم که از طریق آن‌ها استفاده از متغیرهای محیطی را در پروژه‌های علم داده خودم ترجیح می‌دهم.

در اینجا ما به راه خود ادامه می‌دهیم.

مستقیماً آن‌ها را به جلسه bash فعلی خود تغذیه کنید

این یکی از ساده‌ترین راه‌ها برای پیکربندی متغیرهای محیطی برای استفاده در پایتون یا هر زبان دیگری است.

شما فقط آن‌ها را برای قابل‌مشاهده بودن در جلسه bash فعلی خود صادر می‌کنید-به این معنی که تا زمانی که از پایانه بدون بستن استفاده نکنید، می‌توانید از طریق کد خود، تمام متغیرهایی که تنظیم کرده‌اید، به آن‌ها دسترسی داشته باشید.

تایپ و ورود آسان است:

شکل ۲. ورود
شکل ۲. ورود

لطفا توجه داشته باشید که آن باید دقیقا همانطور که من نشان دادم، بدون فاصله بین علامت تساوی در هر طرف و کلید مخفی شما در دو نقل‌قول، وارد شود.

بسیار خوب، بسیار خوب! این به اندازه کافی ساده به نظر می‌رسد، درست است؟

سپس، اجازه دهید راه دیگری برای انجام این کار به شما نشان دهم، اما این کمی بیشتر دائمی خواهد بود.

از یک فایل env. با برنامه خود استفاده کنید

اگر قرار نیست دروغ گفته شود، تنظیم هر متغیر محیطی در برهم زنی شما به صورت یک به یک می‌تواند بسیار نامناسب باشد، تنها زمانی که زبانه ترمینال را می‌بندید آن‌ها را از دست بدهید.

همچنین، شما باید بدانید چگونه این کار را به درستی برای سیستم‌عامل خود انجام دهید-ظاهرا این کار در ویندوز متفاوت از یک سیستم‌عامل مبتنی بر یونیکس است.

بنابراین، کاری که من به طور معمول انجام می‌دهم مدیریت تمام متغیرهای محیطی از طریق یک فایلenv. است، که می‌تواند در برنامه من ذخیره شود.

این سیستم دقیقا تحت هر سیستم‌عامل یک‌سان عمل می‌کند و راه‌اندازی و استفاده از آن با برنامه‌های پایتون ما نیز آسان است.

فقط یک فایل env. جدید بسازید و تمام متغیرهای خود را در داخل و ذخیره کنید، به عنوان مثال:

شکل ۳. مثال
شکل ۳. مثال

و همین! تمام متغیرهای شما را می توان یک‌بار تنظیم کرد و می‌توانید فراموش کنید که آن‌ها به طور کلی با bash در ارتباط هستند.

همچنین فراموش نکنید که این نام پرونده را در پرونده .gitignore خود اضافه کنید، تا از سیستم کنترل نسخه آگاهانه خود محافظت کنید!

دسترسی به متغیرهای محیطی در کد

تا به حال، دیده‌ایم که چگونه متغیرهای مخفی خود را به دو روش تنظیم کنیم-از طریق نشست bash و به عنوان یک فایل جداگانه. اکنون، بیایید ببینیم چگونه به آن‌ها برای استفاده در کد پایتون خود دسترسی پیدا کنیم.

۱. تابع os.environ.get()

اگر متغیرهای خود را در جلسه bash تنظیم کنید، می‌توانید به راحتی از طریق یک کد مانند:

شکل ۴. پس گرفتن متغیرهای env!
شکل ۴. پس گرفتن متغیرهای env!

در اینجا، ما مقدار متغیر محیط DATABASE_URL را دریافت می‌کنیم، همچنین مقدار پیش فرض آن را تعیین می کنیم: ‘sqlite: ////’.

اگر مقدار پیش‌فرض را خالی بگذارید، به جای آن، هیچ بازگشتی نخواهد داشت، اگر متغیر را با آن نام تنظیم نکرده باشید.

اگر مسیر دوم را انتخاب کرده و متغیرهای env خود را از طریق فایل env. تنظیم کرده‌اید، در عوض می‌توانید از یک روش متفاوت برای دسترسی به آن‌ها در کد خود استفاده کنید.

۲. استفاده از بسته dotenv

بسته را به سادگی با این دستور در محیط مجازی خود نصب کنید:

pip install python-dotenv

بعد، ما می‌توانیم از طریق آن به فایل .env به متغیرها دسترسی پیدا کنیم.

شکل ۵. متغیرها را از پرونده.env در فهرست خود بارگیری کنید
شکل ۵. متغیرها را از پرونده.env در فهرست خود بارگیری کنید

در مرحله بعدی، ما می توانیم به راحتی از تابع os.environ.get () استفاده کنیم تا متغیرها را مانند نام قبلی برگردانیم.

نتیجه‌گیری

داشتن متغیرهای محیطی در برنامه شما می‌تواند شما را از بسیاری از سردردها (و به طور بالقوه، حملات قلبی نیز: P) خلاص کند، چون آن‌ها در پنهان کردن اطلاعات حساس در داخل فایل‌های env. شما، مانند نشانی اینترنتی، رمز عبور، و کلیدهایAPI مفید هستند.

امیدوارم این مقاله در آموزش سریع استفاده از آن‌ها در برنامه‌های خود به شما کمک کند.

همچنین می‌توانید در اینجا نگاهی به کد و منابع مربوط به تمام مقالات من بیندازید.

این متن با استفاده از ربات مترجم مقاله علم داده ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.