मैं एक अजगर परियोजना है कि संरचित है इस प्रकार है कहते हैं:फ़ाइल पढ़ी जा अजगर परियोजना में रिश्तेदार पथ का उपयोग
import package
print(package.test)
जब मैं main.py
चलाने मैं निम्नलिखित त्रुटि मिलती है:
C:\Users\Patrick\Desktop\project>python main.py
Traceback (most recent call last):
File "main.py", line 1, in <module>
import package
File "C:\Users\Patrick\Desktop\project\package\__init__.py", line 1, in <module>
from .module import test
File "C:\Users\Patrick\Desktop\project\package\module.py", line 3, in <module>
with open("../data/test.csv") as f:
FileNotFoundError: [Errno 2] No such file or directory: '../data/test.csv'
हालांकि, अगर मैं package
निर्देशिका मैं कोई त्रुटि मिल से module.py
चलाते हैं। तो ऐसा लगता है कि open(...)
में उपयोग किया जाने वाला सापेक्ष पथ केवल मूल फ़ाइल से चल रहा है (iee __name__ == "__main__"
) से संबंधित है? मैं पूर्ण पथ का उपयोग नहीं करना चाहता। इससे निपटने के कुछ तरीके क्या हैं?
पीईपी 8 से उद्धरण, एक एसडेनोट के रूप में: _ "इंट्रा-पैकेज आयात के लिए सापेक्ष आयात अत्यधिक निराश हैं। हमेशा सभी आयातों के लिए पूर्ण पैकेज पथ का उपयोग करें। "_ यहां, 'पैकेज. मॉड्यूल आयात परीक्षण' से। – spectras