Das gleichzeitige Einlesen einer Datei in den Speicher als Array von Zeilen ist nur ein Aufruf der readlines
Funktion:
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Standardmäßig werden die Zeilenumbrüche verworfen. Wenn Sie sie jedoch beibehalten möchten, können Sie das Schlüsselwortargument übergeben 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"
Wenn Sie ein bereits geöffnetes Dateiobjekt haben, können Sie dies auch an die readlines
Funktion übergeben:
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"
Dies demonstriert die readline
Funktion, die eine einzelne Zeile aus einem geöffneten E / A-Objekt liest oder bei Angabe eines Dateinamens die Datei öffnet und die erste Zeile daraus liest:
julia> readline("/usr/share/dict/words")
"A"
Wenn Sie den Dateiinhalt nicht auf einmal laden möchten (oder wenn Sie Streaming-Daten wie von einem Netzwerk-Socket verarbeiten), können Sie die eachline
Funktion verwenden, um einen Iterator abzurufen, der nacheinander Zeilen erzeugt:
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
Der eachline
Funktion kann readlines
auch ein geöffnetes Dateihandle zum Lesen von Zeilen zugewiesen werden. Sie können auch Ihren eigenen Iterator "rollen", indem Sie die Datei öffnen und readline
wiederholt aufrufen :
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
Dies entspricht dem, was eachline
für Sie getan wird, und es ist selten, dass Sie dies selbst tun müssen, aber wenn Sie müssen, ist die Fähigkeit vorhanden. Weitere Informationen zum zeichenweisen Lesen einer Datei finden Sie in dieser Frage und Antwort: Wie verwenden wir Julia, um jedes Zeichen einer TXT-Datei einzeln durchzulesen?