جلسه دوازدهم دوره پایتون – کار با فایل ها در پایتون
مقدمه
در جلسه دوازدهم از دوره آموزشی پایتون قصد داریم نحوه کار با فایل ها را با یکدیگر یاد بگیریم. پیشنهاد می شود جلسات قبل این دوره را از لینک های زیر مطالعه کنید:
- جلسه اول دوره پایتون – آشنایی با پایتون و ویژگی های آن
- جلسه دوم دوره پایتون- نصب پایتون
- جلسه سوم دوره پایتون- روش های اجرای برنامه پایتون
- جلسه چهارم دوره پایتون- متغیرها در پایتون
- جلسه پنجم دوره پایتون – بررسی نوع داده های عددی
- جلسه ششم دوره پایتون – رشته ها در پایتون
- جلسه هفتم دوره پایتون – لیست ها
- جلسه هشتم دوره پایتون- Tuple ها
- جلسه نهم دوره پایتون – آشنایی با دستورات شرطی
- جلسه دهم دوره پایتون – آموزش حلقه ها
- جلسه یازدهم دوره پایتون – آموزش توابع
باز کردن و بستن یک فایل
باز کردن یک فایل:
[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 به ترتیب بخوانیم.
خوب دوستان. برای این جلسه هم کافی است. مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:
دیدگاهتان را بنویسید