Odczytywanie pliku do pamięci naraz jako tablica wierszy to tylko wywołanie do readlines
funkcji:
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Domyślnie usuwa to nowe wiersze, ale jeśli chcesz je zachować, możesz przekazać argument słowa kluczowego 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"
Jeśli masz już otwarty obiekt pliku, możesz również przekazać go do pliku readlines
funkcji:
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"
To pokazuje readline
funkcję, która odczytuje pojedynczy wiersz z otwartego obiektu I / O lub gdy otrzyma nazwę pliku, otwiera plik i odczytuje z niego pierwszy wiersz:
julia> readline("/usr/share/dict/words")
"A"
Jeśli nie chcesz ładować zawartości pliku jednocześnie (lub jeśli przetwarzasz dane przesyłane strumieniowo, jak z gniazda sieciowego), możesz użyć eachline
funkcji, aby uzyskać iterator, który tworzy linie pojedynczo:
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
eachline
Funkcja, jak readlines
również mieć otwartą uchwyt pliku do odczytu linii od. Możesz także „rzucić własny” iterator, otwierając plik i readline
wielokrotnie wywołując :
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
Jest to równoważne z tym, co eachline
robi dla ciebie i rzadko trzeba to robić samodzielnie, ale jeśli to konieczne, zdolność jest dostępna. Aby uzyskać więcej informacji o czytaniu pliku znak po znaku, zapoznaj się z tym pytaniem i odpowiedzią: Jak używamy Julii do czytania każdego znaku pliku .txt, pojedynczo?