পাইথনের সাথে স্ট্রিং হিসাবে আপনি কোনও ফাইলের প্রথম লাইনটি কীভাবে পাবেন?
পাইথনের সাথে স্ট্রিং হিসাবে আপনি কোনও ফাইলের প্রথম লাইনটি কীভাবে পাবেন?
উত্তর:
.readline()
পদ্ধতিটি ব্যবহার করুন ( পাইথন 2 ডক্স , পাইথন 3 ডক্স ):
with open('myfile.txt') as f:
first_line = f.readline()
কিছু নোট:
f.readline()
একটি পিছনের নিউলাইন থাকবে। আপনি f.readline().strip()
নতুন লাইনটি সরাতে পরিবর্তে ব্যবহার করতে চাইতে পারেন।with
বিবৃতি স্বয়ংক্রিয়ভাবে আবার যখন ব্লক প্রান্ত ফাইল বন্ধ করে।with
বিবৃতি শুধুমাত্র পাইথন 2.5 এবং আপ কাজ করে, এবং পাইথন 2.5 আপনি ব্যবহার করতে হবেfrom __future__ import with_statement
mod_wsgi
)।
infile = open('filename.txt', 'r')
firstLine = infile.readline()
with
ভাল।
fline=open("myfile").readline().rstrip()
rstrip()
নিউলাইন চরিত্রটি মুছে ফেলা হয়।
এটি করা উচিত:
f = open('myfile.txt')
first = f.readline()
একটি খোলা ফাইলের শুরুতে ফিরে যেতে এবং তারপরে প্রথম লাইনটি ফিরতে, এটি করুন:
my_file.seek(0)
first_line = my_file.readline()
এখানে প্রচুর অন্যান্য উত্তর, তবে আপনি যে প্রশ্নের উত্তর চেয়েছিলেন তার উত্তর দেওয়ার জন্য (@ মার্কআমেরি গিয়ে মূল প্রশ্নটি সম্পাদনা করে অর্থ পরিবর্তিত করার আগে):
>>> f = open('myfile.txt')
>>> data = f.read()
>>> # I'm assuming you had the above before asking the question
>>> first_line = data.split('\n', 1)[0]
অন্য কথায়, আপনি যদি ইতিমধ্যে ফাইলটিতে পড়েছেন (যেমনটি আপনি বলেছেন), এবং মেমরির একটি বড় ডেটা আছে, তবে দক্ষতার সাথে এটি থেকে প্রথম লাইনটি পেতে, একবার নতুন লাইনের চরিত্রটিতে একটি বিভাজন () করুন শুধুমাত্র, এবং ফলাফল তালিকা থেকে প্রথম উপাদান নিতে।
নোট করুন যে এতে \n
লাইনটির শেষে অক্ষরটি অন্তর্ভুক্ত নয় , তবে আমি ধরে নিচ্ছি যে আপনি যেভাবেই এটি চান না (এবং একটি একক-লাইন ফাইলের মধ্যে এটি নাও থাকতে পারে)। এছাড়াও নোট করুন যে এটি যদিও খুব সংক্ষিপ্ত এবং দ্রুত, তথ্যের একটি অনুলিপি তৈরি করে, তাই স্মৃতির সত্যিই একটি বৃহত আকারের জন্য আপনি এটিকে "দক্ষ" হিসাবে বিবেচনা করবেন না। সর্বদা হিসাবে, এটি নির্ভর করে ...
.read()
প্রথমে বলা উচিত।