خواندن فایل متنی در پایتون
خواندن فایلهای متنی یکی از مهارتهای اساسی در برنامهنویسی است که به شما کمک میکند اطلاعات مختلف را از فایلها استخراج کنید. در این درس، میخواهیم یاد بگیریم چگونه فایلهای متنی را در پایتون بخوانیم و محتوای آنها را نمایش دهیم.
گام اول: آشنایی با فایلهای متنی
قبل از شروع، بیایید ببینیم فایلهای متنی چیستند و چگونه کار میکنند. فایلهای متنی فایلهایی هستند که حاوی متن ساده هستند، مانند فایلهای Notepad در ویندوز یا TextEdit در مک. این فایلها معمولاً پسوند `.txt` دارند.
- فایلهای متنی میتوانند شامل هر نوع متنی باشند، مانند نوشتهها، لیستها، یا حتی کدهای برنامهنویسی.
- فایلهای متنی قابل ویرایش با برنامههای مختلف هستند.
گام دوم: آمادهسازی محیط کار
برای شروع کار با فایلهای متنی در پایتون، به یک محیط برنامهنویسی نیاز دارید. اگر پایتون را روی کامپیوتر خود نصب نکردهاید، میتوانید از سایت رسمی پایتون نسخهی آخرین را دانلود کنید.
- بعد از نصب پایتون، یک ویرایشگر متن یا IDE (محیط توسعهی یکپارچه) مانند PyCharm یا Visual Studio Code را دانلود و نصب کنید.
- یک فایل متنی جدید با پسوند `.txt` ایجاد کنید و مقداری متن در آن بنویسید.
گام سوم: خواندن فایل متنی در پایتون
حالا که محیط کار شما آماده است، میتوانید کد پایتون را برای خواندن فایل متنی شروع کنید.
# فایل متنی خود را در همان مسیر برنامه ایجاد کنید، مثلا به نام data.txt
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()
در این کد:
- تابع `open()` برای باز کردن فایل استفاده میشود. دو پارامتر دارد: نام فایل و حالت باز کردن.
- حالت `”r”` به معنی خواندن فایل است.
- متد `read()` برای خواندن محتوای فایل استفاده میشود.
- متد `close()` برای بستن فایل بعد از خواندن استفاده میشود.
گام چهارم: مدیریت خطاها
خواندن فایلها ممکن است با خطاهایی همراه باشد، مثلاً اگر فایل وجود نداشته باشد. پایتون میتواند به شما کمک کند که این خطاها را مدیریت کنید.
try:
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
در این کد:
- بلاک `try` شامل کدهایی است که ممکن است خطا ایجاد کنند.
- بلاک `except` برای مدیریت خطاها استفاده میشود.
- `FileNotFoundError` یک خطای خاص است که وقتی فایل وجود ندارد، رخ میدهد.
گام پنجم: خواندن فایل به صورت خط به خط
گاهی اوقات، لازم است که فایل را خط به خط بخوانیم.
try:
file = open("data.txt", "r")
for line in file:
print(line.strip()) # برای حذف کاراکترهای اضافی در انتهای خط
file.close()
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
در این کد:
- حلقه `for` برای خواندن فایل خط به خط استفاده میشود.
- متد `strip()` برای حذف کاراکترهای اضافی در انتهای خط استفاده میشود.
گام ششم: استفاده از with برای خواندن فایل
یک راه بهتر برای خواندن فایلها استفاده از کلمهی کلیدی `with` است که به طور خودکار فایل را میبندد.
try:
with open("data.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
در این کد:
- `with` فایل را به طور خودکار میبندد، حتی اگر خطا رخ دهد.
مثال عملی: خواندن لیست دانشآموزان
فرض کنید شما لیستی از دانشآموزان مکتب خود را در یک فایل متنی با نام `students.txt` دارید. هر خط شامل نام یک دانشآموز است.
try:
with open("students.txt", "r") as file:
for line in file:
print(line.strip())
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
در این مثال:
- ما لیست دانشآموزان را خط به خط میخوانیم و چاپ میکنیم.
برنامهنویسی به شما قدرت میدهد تا با دادهها به صورت خلاقانه کار کنید و مشکلات را به راحتی حل کنید.
خواندن فایلهای بزرگ
برای فایلهای بسیار بزرگ، خواندن کل فایل یکباره ممکن است مشکل ایجاد کند. در این موارد، خواندن خط به خط یا به کمک حافظهی بافر، مناسبتر است.
try:
with open("large_file.txt", "r") as file:
for line in file:
print(line.strip())
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
نمایش محتوا در پایتون
بعد از خواندن فایل، میتوانید محتوای آن را به طرق مختلف نمایش دهید. مثلاً میتوانید در یک حلقه محتوا را خط به خط چاپ کنید یا برای پردازش بیشتر، در یک متغیر ذخیره کنید.
try:
with open("data.txt", "r") as file:
content = file.read()
print("محتوا:")
print(content)
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
ذخیره کردن محتوا در متغیر
شما میتوانید محتوای فایل را در یک متغیر ذخیره کنید و بعداً از آن استفاده کنید.
try:
with open("data.txt", "r") as file:
data = file.read()
print("محتوا در متغیر ذخیره شد:", data)
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
خواندن فایل به صورت بافر
برای فایلهای بسیار بزرگ، میتوانید از شیوهی بافر استفاده کنید.
try:
with open("large_file.txt", "r") as file:
buffer_size = 1024
while True:
buffer = file.read(buffer_size)
if not buffer:
break
print(buffer)
except FileNotFoundError:
print("فایل پیدا نشد.")
except Exception as e:
print("خطای دیگری رخ داده است:", e)
در این کد:
- ما فایل را به قطعات کوچکتر (بافر) تقسیم میکنیم و هر قطعه را جداگانه میخوانیم و چاپ میکنیم.
نتیجهگیری بیشتر
خواندن فایلهای متنی در پایتون مهارت بسیار مهمی است که در پروژههای مختلف به کار میآید. با استفاده از مفاهیم این درس، میتوانید به راحتی با فایلهای متنی کار کنید و اطلاعات را از آنها استخراج کنید. تمرین کنید و پروژههای مختلف انجام دهید تا مهارتتان افزایش یابد.