निम्न कोड के लिए:PyLint संदेश: प्रवेश प्रारूप-प्रक्षेप
लॉगिंग प्रारूप-प्रक्षेप (W1202):
logger.debug('message: {}'.format('test'))
pylint
निम्न चेतावनी का उत्पादन लॉगिंग कार्यों में% स्वरूपण का उपयोग करें और जब एक प्रवेश बयानकी एक कॉल रूप है के रूप में तर्क प्रयुक्त% पैरामीटर पास"लॉगिंग। (Format_string.format (format_args ...))"। इस तरह के कॉल% स्वरूपण के बजाय का उपयोग करना चाहिए, लेकिन तर्क के रूप में मानकों को पारित करके प्रवेश समारोह के लिए प्रक्षेप छोड़ दें।
मुझे पता है कि मैं इस चेतावनी को बंद कर सकता हूं, लेकिन मुझे इसे समझना अच्छा लगता है। मैं मान लिया format()
का उपयोग कर python3
में बयान प्रिंट करने की पसंदीदा तरीका है। लॉगर स्टेटमेंट्स के लिए यह सच क्यों नहीं है?
कार्यक्षमता क्या है जो किसी से लाभ नहीं उठा सकती है? '.format()' हमेशा विस्तारित है? क्या यह "आलसी इंटरपोलेशन" का अर्थ है, जिसे केवल बुलाया जाता है जब इसे बुलाया जाता है? – pfnuesel
@pfnuesel, .format() को लॉगर से कॉल करने से पहले विस्तारित किया गया है। आतंक, जबकि "आलसी इंटरपोलेशन" का अर्थ है केवल विस्तार केवल तभी किया जाता है जब आवश्यक हो (उदाहरण के लिए संदेश वास्तव में कहीं प्रदर्शित होता है) – sthenault
क्या इस आलसी मूल्यांकन के लिए कोई अच्छा संदर्भ है पसंदीदा और एक अंतर बना रहे हैं? मुझे [पीईपी 282] में एक नहीं मिला (https://www.python.org/dev/peps/pep-0282/) या [लॉगिंग लाइब्रेरी] (https://docs.python.org/2/library /logging.html) – culix