La lecture d'un fichier en mémoire d'un coup comme un tableau de lignes n'est qu'un appel à la readlines
fonction:
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Par défaut, cela supprime les sauts de ligne, mais si vous souhaitez les conserver, vous pouvez passer l'argument mot-clé 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"
Si vous avez un objet fichier déjà ouvert, vous pouvez également le transmettre à la readlines
fonction:
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"
Cela montre la readline
fonction, qui lit une seule ligne à partir d'un objet d'E / S ouvert, ou quand on lui donne un nom de fichier, ouvre le fichier et lit la première ligne de celui-ci:
julia> readline("/usr/share/dict/words")
"A"
Si vous ne souhaitez pas charger le contenu du fichier en une seule fois (ou si vous traitez des données en streaming comme à partir d'une prise réseau), vous pouvez utiliser la eachline
fonction pour obtenir un itérateur qui produit des lignes une par une:
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
La eachline
fonction peut readlines
également recevoir un descripteur de fichier ouvert à partir duquel lire les lignes. Vous pouvez également "rouler votre propre" itérateur en ouvrant le fichier et en appelant à readline
plusieurs reprises:
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
Cela équivaut à ce qui eachline
fait pour vous et il est rare de devoir le faire vous-même, mais si vous en avez besoin, la capacité est là. Pour plus d'informations sur la lecture d'un fichier caractère par caractère, consultez cette question et réponse: Comment utiliser julia pour lire chaque caractère d'un fichier .txt, un à la fois?