समस्या

  • मेरे पास फ़ोल्डर ए से readTool.py में एक readtxt (पथ) फ़ंक्शन है।
# inside a .py file in Folder A
def readtxt(path):
    flat_matrix = np.loadtxt(path, skiprows=0, comments='#')
    return flat_matrix
  • मैं इस फ़ंक्शन का उपयोग फ़ोल्डर बी में एक सापेक्ष पथ के साथ करता हूं (पथ फ़ोल्डर बी पर आधारित है)।
# run from Folder B
matrix1 = readtxt(a_relative_path_in_B)
  • लेकिन readtxt फ़ंक्शन फ़ोल्डर A पर आधारित सापेक्ष पथ वाली फ़ाइल को पढ़ता है।

सवाल

  • तो मैं इस तरह की गलतफहमी से कैसे बच सकता हूं अगर मैं रीडटेक्स्ट (पथ) फ़ंक्शन को एक सापेक्ष पथ देना चाहता हूं?
0
zheyuanWang 6 जुलाई 2020, 23:48
क्या आप कृपया कुछ कोड स्निपेट पोस्ट कर सकते हैं? यह समस्या को प्रासंगिक बनाने में मदद करेगा।
 – 
matt murray
6 जुलाई 2020, 23:54

1 उत्तर

सबसे बढ़िया उत्तर

पायथन हमेशा चलने वाली स्क्रिप्ट के स्थान के सापेक्ष फ़ोल्डर का उपयोग करता है, इसलिए आप सामान्य व्यवहार का सामना कर रहे हैं। इन मुद्दों से बचने के लिए पूर्ण पथों का उपयोग करना सबसे आसान है, इन्हें विभिन्न फ़ोल्डरों से चलने वाली स्क्रिप्ट के बीच सार्वभौमिक रूप से साझा किया जा सकता है:

import os
working_dir = os.getcwd()
absolute_path = os.path.join(working_dir, "a_relative_path_in_B")
matrix1 = readtxt(absolute_path)
1
JaHoff 7 जुलाई 2020, 17:41