यहाँ मेरी आर कोड है फ़ाइल की सामग्री को अधिलेखित करता है :आर लिखने (संलग्न = TRUE)
hello
world
समान व्यवहार करता है, तो मैं cat()
बजाय write()
का उपयोग होता है। क्यूं कर? मैं फाइलों में कैसे जोड़ सकता हूं?
यहाँ मेरी आर कोड है फ़ाइल की सामग्री को अधिलेखित करता है :आर लिखने (संलग्न = TRUE)
hello
world
समान व्यवहार करता है, तो मैं cat()
बजाय write()
का उपयोग होता है। क्यूं कर? मैं फाइलों में कैसे जोड़ सकता हूं?
आप लेखन के लिए फ़ाइल को खोलने चाहिए:
out = file('testfile', 'w')
...
जब आर खोलता है (या नहीं खोलता है) कनेक्शन स्वचालित रूप से थोड़ा जटिल है, लेकिन यह मदद (?file
) में विस्तार से बताया है।
यदि आप 'w'
पास नहीं करते हैं, तो प्रत्येक write
कॉल खुलता है और फ़ाइल बंद करता है, और मुझे लगता है कि यह आपके द्वारा देखे जाने वाले अजीब व्यवहार का कारण बनता है।
आप जोड़कर के लिए किसी मौजूदा फ़ाइल को खोलने के लिए चाहते हैं,
out = file('testfile', 'a')
का उपयोग सुराग cat
के लिए मदद पृष्ठ में आता है (जो write
के लिए एक आवरण है):
append
तार्किक। केवल तभी प्रयोग किया जाता है जब तर्क फ़ाइल फ़ाइल (और कोई कनेक्शन या "| cmd") का नाम नहीं है। यदि सही आउटपुट फ़ाइल में जोड़ा जाएगा; अन्यथा, यह फ़ाइल की सामग्री को ओवरराइट कर देगा।
जब कनेक्शन का उपयोग आप कनेक्शन स्थापित करना चाहिए, जोड़कर के लिए खोले जाने के लिए जैसे:
file('testfile', open="a")
अच्छी तरह से और सही मायने में अद्भुत है कि। सबसे पहले फ़ाइल (नाम) फ़ाइल नहीं खोलती है, लेकिन इसके अलावा संलग्न करें = टी जो भी कहता है वह नहीं करता है (यह एक बिल्कुल सही बग है जो मैं कहूंगा, अगर आप सहमत हैं तो उत्सुक)। –
मुझे ऐसा लगता है कि फ़ाइल (...) * पढ़ने * के लिए फ़ाइल खोलती है और, जब आप पहले से पढ़ने के लिए फ़ाइल खोलते हैं, तो समस्या के आसपास काम करने की कोशिश करता है और वर्कअराउंड अजीब परिणाम देता है। 'append = TRUE' ऐसा करने के लिए किया जाता है यदि आप पहले फ़ाइल' फ़ाइल 'के साथ फ़ाइल नहीं खोलते हैं, बल्कि बस' लिखना ("हैलो", "फ़ाइल नाम", append = TRUE) लिखें। – JohnB
ठीक है, मैं समझता हूँ। इस कामकाज को देखते हुए, क्या आप इस बात से सहमत हैं कि इसे बनाने के लिए बेहतर होगा ताकि एक गैर-खुले फ़ाइल कनेक्शन के साथ लिखना (एपेंड = टी) फ़ाइल को ओवरराइट करने के बजाय, खोलने के लिए खोल देगा? ऐसा लगता है कि यह आर –