दो पायथन मॉड्यूल हैं जो colorama
और tendo.ansiterm
मॉड्यूल करने में सक्षम हैं, जो मूल रूप से waf
के लिए लिखा गया था।
प्रारंभिक परीक्षणों से संकेत मिलता है कि colorama
अधिक परिपक्व है, भले ही इसे एक के बजाय कोड की दो पंक्तियों की आवश्यकता हो।
import sys
try:
import colorama
colorama.init()
except:
try:
import tendo.ansiterm
except:
pass
sys.stdout.write"\033[33mYellow Submarine"
sys.stderr.write"\033[31mred, red , wine!"
अब, दोनों सामान्य रूप से काम करेंगे, लेकिन यदि आप stderr या stdout का केवल एक रीडायरेक्ट करने के लिए प्रयास करते हैं, ansiterm स्क्रीन करने के लिए होगा उत्पादन एएनएसआई कोड और पुनः निर्देशित उत्पादन।
मुझे यकीन नहीं है, लेकिन मुझे संदेह है कि सही व्यवहार एएनएसआई कोड को पट्टी करना है जब आउटपुट एक टीटी नहीं है, तो आप लॉग फाइलों में एएनएसआई एस्केप नहीं देखना चाहते हैं।
इसका मतलब है कि पाइथन बंदरपैचिंग, जो एक बुरी चीज है। स्पष्ट रूप से stdout फ़िल्टर सेटअप करना बेहतर है। –