我有一个由行分隔的名称列表(names.txt
)。在我遍历每一行之后,我想将其移动到另一个文件(processed.txt
)。
我当前的实现遍历每一行:
open("names.txt") do |csv|
csv.each_line do |line|
url = line.split("\n")
puts url
# Remove line from this file amd move it to processed.txt
end
end
答案 0 :(得分:1)
你可以这样做:
File.open('processed.txt', 'a') do |file|
open("names.txt") do |csv|
csv.each_line do |line|
url = line.chomp
# Do something interesting with url...
file.puts url
end
end
end
这将导致processed.txt
包含使用此代码处理的所有网址。
注意:使用此方法删除names.txt
中的行是不切实际的。有关详细信息,请参阅How do I remove lines of data in the middle of a text file with Ruby。如果这是此解决方案的真正目标,那么它将是一个更大的实现,需要定义一些设计注意事项。
答案 1 :(得分:1)
def readput
@names = File.readlines("names.txt")
File.open("processed.txt", "w+") do |f|
f.puts(@names)
end
end