আমি কীভাবে একটি পাঠ্য ফাইল খুলি এবং এটি লাইন লাইন পড়তে পারি? দুটি উত্তর রয়েছে যার উত্তর সম্পর্কে আমি আগ্রহী:
- একবারে অ্যারেতে সমস্ত লাইন পান।
- একবারে প্রতিটি লাইন প্রক্রিয়া করুন।
দ্বিতীয় ক্ষেত্রে আমি একবারে সমস্ত লাইন স্মৃতিতে রাখতে চাই না।
আমি কীভাবে একটি পাঠ্য ফাইল খুলি এবং এটি লাইন লাইন পড়তে পারি? দুটি উত্তর রয়েছে যার উত্তর সম্পর্কে আমি আগ্রহী:
দ্বিতীয় ক্ষেত্রে আমি একবারে সমস্ত লাইন স্মৃতিতে রাখতে চাই না।
উত্তর:
লাইনের অ্যারে হিসাবে একবারে মেমরির মধ্যে একটি ফাইল পড়া readlines
ফাংশনটির জন্য কেবল একটি কল :
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
ডিফল্টরূপে এটি নিউলাইনগুলি বাতিল করে দেয় তবে আপনি যদি এটি রাখতে চান তবে আপনি কীওয়ার্ড যুক্তিটি পাস করতে পারেন 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"
আপনার যদি ইতিমধ্যে খোলা ফাইল অবজেক্ট থাকে তবে আপনি এটিকে ফাংশনেও দিতে পারেন readlines
:
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"
এটি readline
ফাংশনটি দেখায় , যা একটি খোলা আই / ও অবজেক্ট থেকে একক লাইন পড়ে, বা কোনও ফাইলের নাম দেওয়ার পরে, ফাইলটি খোলে এবং সেখান থেকে প্রথম লাইনটি পড়ে:
julia> readline("/usr/share/dict/words")
"A"
আপনি যদি একবারে ফাইলের বিষয়বস্তুগুলি লোড করতে না চান (বা আপনি যদি কোনও নেটওয়ার্ক সকেটের মতো স্ট্রিমিং ডেটা প্রক্রিয়াকরণ করছেন), তবে আপনি eachline
ফাংশনটি একবারে লাইন তৈরির পুনরুক্তি পেতে পারেন :
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
eachline
ফাংশন, পছন্দ করতে পারেন readlines
, এছাড়াও একটি খোলা ফাইল হ্যান্ডেল থেকে লাইন পড়তে দেওয়া হবে। আপনি ফাইলটি খোলার মাধ্যমে এবং readline
বারবার কল করে "নিজের নিজস্ব রোল" ইটারেটরও রাখতে পারেন :
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
এটি আপনার পক্ষে যা eachline
করে তার সমতুল্য এবং এটি নিজেই করা খুব বিরল তবে আপনার যদি প্রয়োজন হয় তবে ক্ষমতা আছে। চরিত্র অনুসারে কোনও ফাইলের চরিত্রটি পড়ার বিষয়ে আরও তথ্যের জন্য, এই প্রশ্নটি দেখুন এবং উত্তরটি দেখুন: আমরা কীভাবে জুলিয়া একবারের জন্য একটি। Txt ফাইলের প্রতিটি অক্ষরটি পড়তে ব্যবহার করব?