आप चुनिंदा %
से बच नहीं सकते हैं, %
के रूप में हमेशा निम्नलिखित वर्ण के आधार पर एक विशेष अर्थ है।
अजगर की documentation में, उस अनुभाग में दूसरी तालिका के bottem में, यह कहा गया है:
'%' No argument is converted, results in a '%' character in the result.
इसलिए आप उपयोग करना चाहिए:
selectiveEscape = "Print percent %% in sentence and not %s" % (test,)
(कृपया ध्यान दें expicit परिवर्तन %
पर तर्क के रूप में tuple)
उपर्युक्त के बारे में जानने के बिना, मैंने किया होगा:
selectiveEscape = "Print percent %s in sentence and not %s" % ('%', test)
जो ज्ञान आप स्पष्ट रूप से पहले से ही जानते थे।
@ करलकेचटेल: लेकिन फ़ॉर्मेटिंग टेम्पलेट को फ़ाइल से पढ़ा जाने पर मैंने व्यक्तिगत रूप से समस्या से मुलाकात की है। यदि आपके पास फ़ाइल के अंदर क्या है, इस पर कोई नियंत्रण नहीं है, तो सवाल वैध है। – pepr
यदि फ़ॉर्मेटिंग टेम्पलेट फ़ाइल में है, तो टेम्पलेट को सही प्राप्त करना - '%' प्रतीकों के उचित भागने सहित - फ़ाइल निर्माता की ज़िम्मेदारी है। –
यह '\%' क्यों नहीं है? यह मेरा अनुमान था, मैं इसके बजाय '%%' ढूंढने में हैरान हूं - बहुत प्रतिबिंबित लगता है। – Demis