جلسه دوازدهم دوره پایتون – کار با فایل ها در پایتون

مقدمه

در جلسه دوازدهم از دوره آموزشی پایتون قصد داریم نحوه کار با فایل ها را با یکدیگر یاد بگیریم. پیشنهاد می شود جلسات قبل این دوره را از لینک های زیر مطالعه کنید: 

نکته : دوستان عزیز ، خواندن این جلسه به تنهایی کافی نمی باشد و یادگیری عمیقی برای شما ایجاد نخواهد کرد. لطفا یک ادیتور باز کنید و تمامی کدهایی که در ادامه جلسه آورده می شوند را خودتان امتحان کنید و گام به گام با آموزش پیش بروید تا تمامی این آموزش ها را یک بار برای همیشه یاد بگیرید. 

باز کردن و بستن یک فایل

باز کردن یک فایل:

[ihc-hide-content ihc_mb_type=”show” ihc_mb_who=”2,3,4,5″ ihc_mb_template=”4″ ]

قبل از خواندن و یا نوشتن یک فایل ما نیاز داریم تا آن فایل را باز کنیم. برای باز کردن یک فایل میتوانیم از دستور زیر استفاده کنیم : 

f = open(filename, mode)

تابع open دو ورودی را می پذیرد. ورودی های filename و mode.  منظور از filename نام فایلی است که باید باز شود. همچنین mode نوع عملیات ما را مشخص می سازد. با استفاده از این آرگومان مشخص میکنیم که دقیقا میخواهیم با آن فایل چه کار کنیم. میخواهیم از آن بخوانیم. میخواهیم به آن بنویسیم یا … . نکته ای که باید به آن توجه کرد این است که اگر فقط از آرگومان اول استفاده کنیم به صورت پیش فرض بر روی فایل مورد نظر عملیات خواندن اجرا می شود.همچنین به f اشاره گر فایل گفته می شود. 

بستن یک فایل : 

پس از این که عملیات مورد نظر خود را بر روی یک فایل انجام دادیم ( خواندن یا نوشتن ) ، نیاز داریم تا فایل را ببندیم. برای بستن یک فایل میتوانیم از دستور زیر استفاده کنیم : 

f.close()  # where f is a file pointer

در رابطه بالا f همان اشاره گر فایل می باشد. 

مدهای مختلف کار با یک فایل

در زیر مدهای مختلف کار با یک فایل هنگام باز کردن آن آورده شده است: 

کار با فایل ها در پایتون

ما در این جلسه در مورد سه متد اول صحبت خواهیم کردن و خواندن و نوشتن باینری را به جلسات آینده موکول میکنیم. 

  نوشتن اطلاعات به یک فایل: 

حال میخواهیم یاد بگیریم که چگونه میتوان یک عبارت را در یک فایل نوشت. برای درک این موضوع به مثال زیر توجه کنید: 

>>> f = open('myfile.txt', 'w')    # open file for writing
>>> f.write('this first line\n')   # write a line to the file
>>> f.write('this second line\n')  # write one more line to the file
>>> f.close()                      # close the file

در کد بالا ابتدا یک فایل با نام myfile.txt باز می شود و سپس عبارت “this first line” در خط اول آن نوشته می شود. سپس در خط دوم ما عبارت “this second line” را مینویسیم. در انتها نیز فایل را میبندیم.

توجه داشته باشید که متد wirte  پس از یک بار استفاده ، به صورت خودکار به خط بعد نمی رود و ما نیاز داریم تا از “\n” برای رفتن به خط بعد استفاده کنیم. 

 خواندن اطلاعات از یک فایل: 

برای خواندن اطلاعات از یک فایل میتوان از یکی از متدهای زیر استفاده کرد: 

متدهای مختلف خواندن از یک فایل در پایتون

برای این که با هر یک از سه نوع متد بالا آشنا شویم ، مثال های زیر را بررسی میکنیم: 

مثال 1 : خواندن تمام اطلاعات یک فایل: 

>>> f = open('myfile.txt', 'r')
>>> f.read() # read entire content of file at once
"this first line\nthis second line\n"
>>> f.close()

مثال 2: خواندن تمام خطوط یک فایل به صورت یک آرایه: 

>>> f = open('myfile.txt', 'r')
>>> f.readlines() # read entire content of file at once
["this first line\n", "this second line\n"]
>>> f.close()

مثال 3: خواندن تنها یک خط از فایل: 

>>> f = open('myfile.txt', 'r')
>>> f.readline() # read entire content of file at once
"this first line\n"
>>> f.close()

بررسی یک نکته مهم : 

فرض کنید متنی به صورت زیر داریم : 

I am Hamed Ghasemi
This is a test file for python course part 12
Python is one of the best programm language in world.
Thank you.

اگر دستورات زیر را اجرا کنیم به نظر شما چه اتفاقی خواهد افتاد؟ ( هنگام خواندن این متن لطفا این کار را انجام دهید و نتیجه را در خروجی ببینید):

f = open("test.txt","r") #opens file with name of "test.txt"
 print(f.read(1))
 print(f.read())

نتیجه به صورت زیر خواهد بود: 

I
 am Hamed Ghasemi
This is a test file for robouav
python course
part 12
Thank You!
TestTest

همانطور که مشاهده می کنید ، پایتون ابتدا دستور اول را اجرا کرد و حرف I را که اولین حرف از متن ما بود خواند. سپس دستور دوم را اجرا کرد و بقیه متن ، به جز حرف اول را خواند. در واقع نکته مهم این است که از جایی که پایتون خواندن متن را رها کرده بود ، شروع به خواندن آن میکند. این نکته ممکن است در اوایل کار کمی گیج کننده به نظر آید. ولی به مرور زمان درک آن ساده تر می شود. 

 اضافه کردن داده به یک فایل: 

برای اضافه کردن داده ها به یک فایل (Append کردن) ، ما نیاز داریم آرگومان mode در دستور open را برابر با ‘a’ قرار دهیم.  مثال زیر را ببینید: 

[/ihc-hide-content]

>>> f = open('myfile.txt', 'a')
>>> f.write("this is third line\n")
19
>>> f.close()

 خواندن یک فایل با استفاده از حلقه for : 

یکی از روش های خواندن یک فایل استفاده ازحلقه for است. مثال زیر را ببینید:

>>> f = open('myfile.txt', 'r')
>>> for line in f:
... print(line)
...
this first line
this second line
this is third line
 
>>> f.close()

میبینید که میتوانیم خطوط کد را به ترتیب و با استفاده از یک حلقه for به ترتیب بخوانیم. 

خوب دوستان. برای این جلسه هم کافی است. مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید: 

 

 

اشتراک گذاری:
مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید