पायथन में, और सामान्य रूप से - एक फ़ाइल ऑब्जेक्ट पर close()
ऑपरेशन flush()
ऑपरेशन का संकेत देता है?पाइथन में बंद() को फ्लश() को इंगित करता है?
उत्तर
हां। यह अंतर्निहित close()
फ़ंक्शन का उपयोग करता है जो आपके लिए करता है (source)।
एनबी: close()
और flush()
यह सुनिश्चित नहीं करेगा कि डेटा वास्तव में डिस्क पर सुरक्षित है। यह सिर्फ यह सुनिश्चित करता है कि ओएस में डेटा == है कि यह प्रक्रिया के अंदर buffered नहीं है।
डिस्क पर लिखे गए डेटा को प्राप्त करने के लिए आप सिंक या fsync को आजमा सकते हैं।
सच है, लेकिन क्या आधुनिक ओएस प्रक्रिया समाप्त होने पर डिस्क पर डेटा नहीं लिखता है? –
उस समय के पैमाने पर निर्भर करता है जिनके बारे में आप बात कर रहे हैं। जैसे ext4 के कुछ संस्करण डिस्क पर अपना डेटा करने से पहले पूरे सेकंड प्रतीक्षा कर सकते हैं। –
+1 यदि परिमाण का क्रम सेकंड है, तो मैं काफी सुरक्षित हूं। धन्यवाद! –
filehandle.close आवश्यक रूप से फ्लश नहीं करता है। आश्चर्य की बात है, filehandle.flush या तो मदद नहीं करता --- यह अभी भी ओएस बफर में फंस सकता है जब पाइथन चल रहा है। इस सत्र जहां मैं एक फाइल करने के लिए लिखा था का निरीक्षण करें, यह और खोल कमांड प्रॉम्प्ट के लिए Ctrl-Z बंद कर दिया और फाइल की जांच की:
$ cat xyz
ghi
$ fg
python
>>> x=open("xyz","a")
>>> x.write("morestuff\n")
>>> x.write("morestuff\n")
>>> x.write("morestuff\n")
>>> x.flush
<built-in method flush of file object at 0x7f58e0044660>
>>> x.close
<built-in method close of file object at 0x7f58e0044660>
>>>
[1]+ Stopped python
$ cat xyz
ghi
इसके बाद मैं फ़ाइल फिर से खोलना कर सकते हैं और जरूरी है कि फ़ाइल सिंक करता है (क्योंकि, में इस मामले में, मैं इसे संलग्न मोड में खोलता हूं)। जैसा कि अन्य ने कहा है, सिंक सिस्कल (ओएस पैकेज से उपलब्ध) को सभी बफर डिस्क पर फ्लश करना चाहिए, लेकिन इसमें सिस्टम-व्यापी प्रदर्शन प्रभाव संभव है (यह सिस्टम पर सभी फाइलों को सिंक करता है)।
एचएम - मुझे आपकी समस्या पर संदेह है कि आपने वास्तव में ** ** फ्लश() 'या' क्लोज़() 'कॉल नहीं किया है - आप अभी अपना प्रतिनिधित्व प्रदर्शित कर चुके हैं! उन तरीकों को कॉल करने के लिए आपको माता-पिता की आवश्यकता है। –
- 1. पाइथन कितनी बार फाइल में फ्लश करता है?
- 2. कोई पाइथन में अमान्य तर्क कैसे इंगित करता है?
- 3. System.Web.Configuration.MachineKeySection.MetineKeySection.GetDecodedData इंगित करता है
- 4. जावा सिंक्रनाइज़ किए गए कीवर्ड कैश को फ्लश करता है?
- 5. चींटी "JAVA_HOME जेडीके को इंगित नहीं करता है" - लेकिन यह
- 6. जावास्क्रिप्ट "यह" विंडो ऑब्जेक्ट को फिर से इंगित करता है
- 7. क्या डोमेन नाम एक विशिष्ट फ़ोल्डर को इंगित करता है?
- 8. पाइथन बंद फ़ाइलों को कैसे जीते हैं?
- 9. क्या कोई सूचक एलएसबी या एमएसबी को इंगित करता है?
- 10. पाइथन सिग्नल को कैसे संसाधित करता है?
- 11. आप पाइथन सॉकेट कैसे फ्लश करते हैं?
- 12. एनएचबेर्नेट फ्लश - यह कैसे काम करता है?
- 13. एंड्रॉइड स्ट्रीम में फ्लश() बंद() का उपयोग करने के लाभ?
- 14. सी ++ std :: ऑफस्ट्रीम फ्लश() लेकिन बंद नहीं है()
- 15. लैम्बडा फ़ंक्शन पायथन में पैरामीटर को बंद नहीं करता है?
- 16. std :: फ्लश कैसे काम करता है?
- 17. एक प्रतिनिधि क्या इंगित करता है?
- 18. पाइथन में आउटपुट आउटपुट निष्पादन योग्यों को कॉल करता है
- 19. कक्षाओं (बंदर पैचिंग) को पाइथन में कैसे काम करता है?
- 20. ऑफस्ट्रीम को फ्लश की आवश्यकता क्यों होती है?
- 21. मैकॉक्स-वर्जन-मिनट क्या इंगित करता है?
- 22. क्या BufferedOutputStream को बंद करना अंतर्निहित आउटपुटस्ट्रीम को बंद करता है?
- 23. फ्लश() कहलाते समय एनएलओजी AsyncTargetWrapper में सभी कतारबद्ध संदेशों को फ्लश करना चाहिए?
- 24. क्या सॉकेट के इनपुटस्ट्रीम को बंद करना सॉकेट कनेक्शन को बंद करता है?
- 25. पाइथन में कॉलिंग कैसे काम करता है?
- 26. क्या मुझे servlet outputstream को फ्लश करने की आवश्यकता है?
- 27. एसबीवाइट प्रक्रिया राज्य फ्रीबीएसडी टॉप में क्या इंगित करता है?
- 28. स्प्रिंग में @ वालिड एनोटेशन क्या इंगित करता है?
- 29. जावा कैसे आंतरिक कक्षा बंद करने को लागू करता है?
- 30. क्या "& s [0]" std :: स्ट्रिंग में संगत वर्णों को इंगित करता है?
(दूसरे शब्दों में: वह फ़ाइल I/O buffered है जो बड़े पैमाने पर आपके द्वारा छिपी हुई है और छिपी हुई है। 'ओपन', 'लिखना', 'क्लोज़' करने से सामान को अनदेखा नहीं करना चाहिए जैसा कि आप पहले से ही चाहते हैं 'लिखो'। एक बफर जो नियमित रूप से उस पर फेंक दिया जाता है, वह बहुत खराब डिजाइन [या भूखे बफर] होगा।) – Joey
धन्यवाद, यह मेरा अनुमान भी था। लेकिन क्या यह सच क्रॉस-प्लेटफार्म, क्रॉस-ओएस और क्रॉस-लैंग्वेज है? –
@ एडम मटन: यही कारण है कि पाइथन सी पुस्तकालयों के शीर्ष पर बैठता है। यह सुनिश्चित करने के लिए कि "यह वास्तविक क्रॉस-प्लेटफ़ॉर्म, क्रॉस-ओएस"। मुझे नहीं पता कि "क्रॉस-भाषा" का क्या अर्थ है। –