زمان تخمینی مطالعه: 4 دقیقه
زبان برنامه نویسی پایتون توابع داخلی را برای انجام عملیات فایل مانند ایجاد، خواندن و نوشتن در فایلهای متنی فراهم میکند. به طور عمده دو نوع فایل وجود دارد که پایتون میتواند مدیریت کند، فایلهای متنی معمولی و فایلهای باینری. در این آموزش به نحوه خواندن فایل در پایتون میپردازیم.
مراحل خواندن فایل متنی در پایتون
در پایتون برای خواندن یک فایل متنی باید مراحل زیر را دنبال کنید.
- مرحله 1: فایل باید برای خواندن با استفاده از متد open باز شود و یک مسیر فایل به تابع ارسال شود.
- مرحله 2: مرحله بعدی خواندن فایل در پایتون است که این کار را میتوان با استفاده از چندین روش داخلی مانند read، readline، readlines انجام داد.
- مرحله 3: پس از انجام عملیات خواندن، فایل متنی باید با استفاده از تابع close بسته شود.
اکنون که مراحل خواندن محتوای فایل را دیدیم، قبل از وارد شدن به مثال، هر یک از این متدها را بررسی میکنیم.
تابع open در پایتون
تابع open در صورت امکان فایل را باز میکند و شی فایل مربوطه را برمیگرداند.
Syntax – open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
تابع open دارای پارامترهای زیادی است. بیایید نگاهی به پارامترهای لازم برای خواندن فایل متنی بیندازیم. فایل را در یک حالت مشخص باز میکند و یک شی فایل را برمی گرداند. مولفهها یا پارامترهای آن در زیر آورده شده است:
file – یک شی مسیر مانند که مسیر فایل را نشان میدهد
mode (اختیاری) – حالت یک پارامتر اختیاری است. این رشتهای است که حالتی را که میخواهید فایل را در آن باز کنید مشخص میکند.
Mode | توضیحات |
---|---|
'r' |
باز کردن یک فایل برای حالت خواندن (به طور پیش فرض اگر حالت مشخص نشده باشد) |
‘w’ | یک فایل برای نوشتن باز کنید. پایتون یک فایل جدید را در صورت وجود نداشتن ایجاد میکند یا در صورت وجود فایل، محتوای فایل را کوتاه میکند |
‘x’ | یک فایل برای ایجاد انحصاری باز کنید. |
‘a’ | یک فایل برای اضافه کردن متن باز کنید. در صورت عدم وجود فایل، فایل جدیدی ایجاد میکند. |
‘t’ | یک فایل را در حالت متنی باز کنید. (پیش فرض) |
'b' |
یک فایل را در حالت باینری باز کنید. |
'+' |
باز کردن یک فایل برای به روز رسانی (خواندن و نوشتن) |
مثال:
file = open('C:\hello.txt','r')
متدهای خواندن محتوای فایل
سه راه برای خواندن دادهها از یک فایل متنی وجود دارد.
- read : تابع read بایتهای خوانده شده را به شکل رشته برمیگرداند. این روش زمانی مفید است که شما یک فایل کوچک دارید و میخواهید بایتهای مشخص شده یا کل فایل را بخوانید و آن را در یک متغیر رشته ای ذخیره کنید.
- readline : تابع readline یک خط از یک فایل متنی را به شکل رشته برمیگرداند.
- readlines: تابع readlines تمام خطوط فایل متنی را میخواند و هر خط را به عنوان عنصر رشتهای در لیست برمیگرداند.
تابع Close پایتون
فایل تا زمانی که فایل را با استفاده از تابع close ببندید باز میماند. انجام این عملیات پس از خواندن دادهها از فایل ضروری و بهترین تمرین است زیرا فضای حافظه به دست آمده توسط آن فایل را آزاد میکند. در غیر این صورت، ممکن است یک استثناء کنترل نشده ایجاد کند.
نمونهایی از خواندن فایل
در مثال زیر، کل فایل متنی را با استفاده از متد read میخوانیم. فایل را میتوان در حالت خواندن یا در حالت متنی برای خواندن دادهها باز کرد و میتوان آن را در متغیر رشته ذخیره کرد.
# Program to read the entire file using read() function
file = open("python.txt", "r")
content = file.read()
print(content)
file.close()
# Program to read the entire file (absolute path) using read() function
file = open("C:/Projects/Tryouts/python.txt", "r")
content = file.read()
print(content)
file.close()