मैं इसे इस तरह कर रहा हूं, लेकिन मैं इसे फ़ाइल की शुरुआत में लिखना चाहता हूं।लिखें()?
f = open('out.txt', 'a') # or 'w'?
f.write("string 1")
f.write("string 2")
f.write("string 3")
f.close()
ताकि out.txt
की सामग्री हो जाएगा:
string 3
string 2
string 1
और नहीं (इस कोड की तरह करता है):
string 1
string 2
string 3
क्या होगा यदि इसका उपयोग लॉग फ़ाइल की तरह अधिक था, जहां स्क्रिप्ट लगातार निष्पादन पर लॉग पर लिख सकती है? क्या पूरी फाइल को स्मृति में रखने का एकमात्र सहारा है, अपनी पिछली सामग्री के बाद अपनी सामग्री लिखने की शुरुआत करना चाहते हैं? (इंटरमीडिएट फाइलों को छोड़कर) –
मुझे पाइथन की 'फ़ाइल' कक्षा में कुछ भी पता नहीं है जो इस तरह कुछ की अनुमति देता है (यानी कुछ प्रकार के इंटरमीडिएट बफर का उपयोग किए बिना)। तो, अभी, यह सबसे आसान तरीका की तरह दिखता है। एक लॉग फ़ाइल के लिए, क्या यह बहुत अधिक समझ में नहीं आता है और फ़ाइल के अंत में नवीनतम प्रविष्टियों को जोड़ने के लिए जीवन को बहुत आसान बनाता है? – MAK
@ निक, @ एमएके, न केवल पाइथन में कुछ भी है जो इसे संभाल सकता है, अंतर्निहित सी लाइब्रेरी या फाइल सिस्टम में कुछ भी नहीं है। यह बस यह नहीं है कि फाइलें कैसे काम करती हैं, और आप तब तक एक फ़ाइल नहीं बढ़ सकते जब तक कि आप सामग्री को प्रतिलिपि बनाने के इच्छुक न हों। यह एक नई फाइल के साथ किया जा सकता है, या पुरानी फाइल के भीतर डेटा ले जाकर, लेकिन किसी भी तरह से यह एक बुरा विचार है। आवश्यकताओं को बेहतर तरीके से बदलें या जिस तरह से आप समस्या को देखते हैं ... –