मैं उन मॉड्यूल के साथ एक अजगर पैकेज लिख रहा हूं जिन्हें एक ./data/
उपनिर्देशिका में डेटा फ़ाइलों को खोलने की आवश्यकता है । अभी मेरे पास मेरी कक्षाओं और फ़ंक्शंस में हार्डकोड की गई फ़ाइलों के लिए रास्ते हैं। मैं अधिक मजबूत कोड लिखना चाहूंगा जो उपयोगकर्ता के सिस्टम पर स्थापित होने के बावजूद उपनिर्देशिका तक पहुंच सकता है।
मैंने कई तरह के तरीके आजमाए हैं, लेकिन अभी तक मुझे कोई किस्मत नहीं मिली है। ऐसा लगता है कि अधिकांश "वर्तमान निर्देशिका" कमांड सिस्टम के अजगर इंटरप्रेटर की निर्देशिका को लौटाते हैं, न कि मॉड्यूल की निर्देशिका को।
ऐसा लगता है जैसे यह एक तुच्छ, सामान्य समस्या होना चाहिए। फिर भी मैं इसका पता नहीं लगा सकता। समस्या का एक हिस्सा यह है कि मेरी डेटा फाइलें फाइलें नहीं हैं .py
, इसलिए मैं आयात कार्यों और इस तरह का उपयोग नहीं कर सकता।
कोई सुझाव?
अभी मेरा पैकेज निर्देशिका जैसा दिखता है:
/
__init__.py
module1.py
module2.py
data/
data.txt
मैं का उपयोग करने की कोशिश कर रहा हूँ data.txt
से module*.py
!