2010-03-13 12 views
22

से आउटपुट के साथ एक नई फ़ाइल कैसे लिखें, मेरे पास एक साधारण स्क्रिप्ट है जो कुछ खोज और प्रतिस्थापन करती है। यह मूलतः यह है:रूबी - स्क्रिप्ट

File.open("us_cities.yml", "r+") do |file| 
    while line = file.gets 
    "do find a replace" 
    end 
    "Here I want to write to a new file" 
end 

आप देख सकते हैं मैं उत्पादन के साथ एक नई फ़ाइल लिखना चाहते हैं। मैं यह कैसे कर सकता हूँ?

उत्तर

32

एक नई फ़ाइल में Outputting इस की तरह किया जा सकता है (दूसरा पैरामीटर मत भूलना):

output = File.open("outputfile.yml","w") 
output << "This is going to the output file" 
output.close 
अपने उदाहरण में

तो, आप ऐसा कर सकता है:

File.open("us_cities.yml", "r+") do |file| 
    while line = file.gets 
    "do find a replace" 
    end 
    output = File.open("outputfile.yml", "w") 
    output << "Here I am writing to a new file" 
    output.close  
end 

अगर आप फ़ाइल में जोड़ना चाहते हैं, तो सुनिश्चित करें कि आप लूप के बाहर आउटपुट फ़ाइल खोलना चाहते हैं।

5

सबसे पहले आप इस तरह के newfile.txt

तो उत्पादन के साथ एक नई फ़ाइल कर देगा

File.open("us_cities.yml", "r+") do |file| 
    new_file = File.new("newfile.txt", "r+") 
    while line = file.gets 
    new_file.puts "do find a replace" 
    end 
end 

यह करने के लिए स्क्रिप्ट को बदलने के रूप में एक नई फ़ाइल बनाने के लिए

संबंधित मुद्दे