Membaca file ke memori sekaligus sebagai array baris hanyalah panggilan ke readlines
fungsi:
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Secara default ini membuang baris baru tetapi jika Anda ingin mempertahankannya, Anda dapat melewati argumen kata kunci keep=true
:
julia> words = readlines("/usr/share/dict/words", keep=true)
235886-element Array{String,1}:
"A\n"
"a\n"
"aa\n"
⋮
"zythum\n"
"Zyzomys\n"
"Zyzzogeton\n"
Jika Anda memiliki objek file yang sudah dibuka, Anda juga dapat meneruskannya ke readlines
fungsi:
julia> open("/usr/share/dict/words") do io
readline(io) # throw out the first line
readlines(io)
end
235885-element Array{String,1}:
"a"
"aa"
"aal"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Ini menunjukkan readline
fungsi, yang membaca satu baris dari objek I / O terbuka, atau ketika diberi nama file, membuka file dan membaca baris pertama darinya:
julia> readline("/usr/share/dict/words")
"A"
Jika Anda tidak ingin memuat konten file sekaligus (atau jika Anda memproses data streaming seperti dari soket jaringan), maka Anda dapat menggunakan eachline
fungsi untuk mendapatkan iterator yang menghasilkan baris satu per satu:
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
The eachline
Fungsi dapat, seperti readlines
, juga diberi menangani file dibuka untuk membaca baris dari. Anda juga dapat "menggulung sendiri" iterator dengan membuka file dan menelepon readline
berulang kali:
julia> open("/usr/share/dict/words") do io
while !eof(io)
word = readline(io)
if length(word) >= 24
println(word)
end
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
Ini setara dengan apa yang eachline
Anda lakukan dan jarang perlu melakukannya sendiri, tetapi jika perlu, kemampuannya ada di sana. Untuk informasi lebih lanjut tentang membaca karakter file dengan karakter, lihat pertanyaan dan jawaban ini: Bagaimana kita menggunakan julia untuk membaca setiap karakter file .txt, satu per satu?