यह एक और दृष्टिकोण है, ओपी तक यह चुनने के लिए कि वह कौन सा पसंद करता है।
जब किसी अन्य कोड से पहले __init__
.py फ़ाइल में नीचे दिए गए कोड सहित, संदेश print
के साथ मुद्रित और किसी भी त्रुटि नहीं रह Ableton के log.txt के लिए, लेकिन अपनी डिस्क पर अलग फ़ाइलों को लॉग इन किया जाएगा:
import sys
path = "/Users/#username#"
errorLog = open(path + "/stderr.txt", "w", 1)
errorLog.write("---Starting Error Log---\n")
sys.stderr = errorLog
stdoutLog = open(path + "/stdout.txt", "w", 1)
stdoutLog.write("---Starting Standard Out Log---\n")
sys.stdout = stdoutLog
(मैक के लिए, अपने उपयोगकर्ता फ़ोल्डर के नाम पर #username#
बदलें।विंडोज़ पर आपके उपयोगकर्ता फ़ोल्डर के पथ का एक अलग प्रारूप होगा)
जब आप किसी टेक्स्ट एडिटर में फ़ाइलों को खोलते हैं जो डिस्क पर फ़ाइल बदलते समय अपनी सामग्री को रीफ्रेश करता है (मैक के लिए उदाहरण: TextEdit टेक्स्ट टेक्स्ट नहीं करता है) , आप रीयल-टाइम में अपडेट किए जा रहे लॉग देखेंगे।
क्रेडिट: इस कोड को ज्यादातर liveAPI नियंत्रण सतह स्क्रिप्ट से नाथन Ramella
द्वारा +1 "लाइन बफ़र" भाग के लिए प्रतिलिपि बनाई गई थी। यही वही है जो मैं खोज रहा था और यह एक आकर्षण की तरह काम करता है। – rein
पायथन 3.4.3 का उपयोग करते समय जब मैं 'खोलता हूं' (file.txt ',' w ', 1)' मुझे उचित रेखा बफरिंग मिलती है। लेकिन अगर मैं कुछ भी बड़ा करता हूं (मैं चाहता था कि 'ओपन (' file.txt ',' w ', 512) ') यह 8192 के पूर्ण' io.DEFAULT_BUFFER_SIZE' को बफर करता है। क्या यह एक पायथन बग, एक लिनक्स बग, या एक ID10t बग? –