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

import dill


def saving_test(test_path, test_obj):
    try:
        save_test_logger.info('Saving test...')
        try:
            save_test_logger.info('opening file')
            test_file = open(test_path, 'wb')
        except Exception as exc:
            save_test_logger.exception('Error opening file')
            return 0

        dill.dump(test_obj, test_file)
        save_test_logger.debug(f'file saved in {test_path}')
        test_file.close()
        return 1
    except Exception as exc:
        save_test_logger.exception('saving error')
        test_file.close()
        return exc
saving 859ab1303bcd4a65805e364a989ac8ca
2020-10-07T20:53:18.064670+00:00 app[web.1]: Could not open file ./test_objs/859ab1303bcd4a65805e364a989ac8ca.pkl

और मैंने अपने प्रोग्राम में लॉगिंग भी जोड़ दी है, लेकिन अब मैं उलझन में हूं कि मैं मूल लॉग कहां देख सकता हूं जो अपवादों को भी पकड़ने वाले हैं। यह मेरा पहली बार हेरोकू का उपयोग कर रहा है और मैं प्रोग्रामिंग के लिए भी तुलनात्मक रूप से नया हूं। तो कृपया समस्या के मूल कारण की पहचान करने के लिए यहां मेरी सहायता करें।

0
Jihjohn 8 अक्टूबर 2020, 00:13

1 उत्तर

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

मुझे समस्या मिली। भले ही मैंने सब कुछ धक्का दिया है, निर्देशिका test_objs हेरोकू पर नहीं थी। यदि निर्देशिका मौजूद नहीं है तो मैंने ओएस मॉड्यूल का उपयोग करके निर्देशिका बनाने के लिए कोड की 2 और पंक्तियां जोड़ दी हैं। जिससे समस्या हल हो गई। मैं इस प्रश्न को इसलिए नहीं हटा रहा हूं ताकि यदि कोई इसी तरह की स्थिति में फंस जाता है या भ्रमित हो जाता है, तो यह प्रश्न उनकी मदद करने में सक्षम हो सकता है।

1
Jihjohn 8 अक्टूबर 2020, 05:56