У меня возникла проблема с файловыми концепциями. У меня есть текстовый файл, в котором у меня 1000 строк. Я хочу разбить этот файл на 2 и каждый из них должен содержать 500 строк. Для этого я написал следующий код, но он разделяет это, предоставляя определенное пространство памяти.
Как разбить текстовый файл на 2 файла, используя количество строк?
class Hello
def chunker f_in, out_pref, chunksize = 500
File.open(f_in,"r") do |fh_in|
until fh_in.eof?
ch_path = "/my_applications//#{out_pref}_#{"%05d"%(fh_in.pos/chunksize)}.txt"
puts "choose path: "
puts ch_path
File.open(ch_path,"w") do |fh_out|
fh_out << fh_in.read(chunksize)
puts "FH out : "
puts fh_out
end
end
end
end
end
f=Hello.new
f.chunker "/my_applications/hello.txt", "output_prefix"
Я могу разделить родительский файл в зависимости от размера памяти (500кб). Но я хочу, чтобы это разделилось по количеству строк. Как я могу это достичь.
Пожалуйста, помогите мне.
Работа хороший, но 1 вопрос. Если общее число строк равно 1001 (нечетное число), то как это сделать? – VenkatK
@VenkatK 500 в первом, 501 во втором – toch