آماگ
۱۰ آذر ۱۴۰۴، ۰۹:۱۰

استفاده از متغیرهای یک اسکریپت پایتون در سایر اسکریپت‌های پایتون؟

می‌خواهم یک فایل پایتون واحد راه‌اندازی کنم که حاوی متغیرهایی برای مکان‌های همه منابع داده من باشد. سپس این فایل توسط همه اسکریپت‌های دیگرم استفاده شود، به‌طوری‌که وقتی منبع داده‌ای تغییر می‌کند، فقط مجبور باشم آن یک فایل را ویرایش کنم. فایل Data_sources.py من چیزی شبیه این خواهد بود: BC_BEC = "Database Connections\\BC.sde\\FOREST_BC.BC_Eco\\BC.BC_BEC" BC_TFL = "Database Connections\\Forest_BC.sde\\BC.BC_Admin\\BC.TFL_Boundary" و به همین ترتیب... چگونه می‌توانم همه اسکریپت‌های دیگرم را وادار کنم این متغیرها را از فایل Data_sources.py بارگذاری یا به آن دسترسی داشته باشند؟

پاسخ‌ها (2)

۱۰ آذر ۱۴۰۴، ۱۰:۱۰
می‌توانید یک ماژول پایتون نصب‌شده ایجاد کنید که از هر اسکریپت پایتونی که اجرا می‌کنید قابل import باشد، با استفاده از Distutils برای بسته‌بندی آن.
از مستندات پایتون: اگر فقط می‌خواهید یک ماژول به نام foo، موجود در یک فایل foo.py را توزیع کنید، اسکریپت راه‌اندازی شما می‌تواند به همین سادگی باشد: from distutils.core import setup setup(name='foo', version='1.0', py_modules=['foo'], ) سپس می‌توانید آن را نصب کنید python.exe setup.py install و سپس می‌توانید foo را از هر اسکریپت پایتونی import کنید، یا می‌توانید از python.exe setup.py bdist_wininst استفاده کنید تا یک نصب‌کننده ویندوز برای ماژول ایجاد کنید، به‌طوری‌که بتوانید آن را برای کامپیوترهای دیگر توزیع کنید.