کار با فایل در پایتون — از صفر تا صد + مثال

آخرین به‌روزرسانی: ۷ اسفند ۱۴۰۰
زمان مطالعه: ۵ دقیقه

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

اگر به تازگی شروع به یادگیری پایتون کرده‌اید و می‌خواهید بدانید چه مسیری شما را بدل به یک برنامه‌نویس پایتون بهتر می‌کند، توصیه می‌کنیم مطلب یادگیری پایتون مجله فرادرس که در همین رابطه تهیه شده است را مطالعه کنید.

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

برای باز کردن یک فایل در پایتون باید از تابع داخلی open این زبان برنامه‌نویسی استفاده کنید. این تابع یک شیء‌ فایل بازگشت می‌دهد که شامل متدها و خصوصیات مختلفی است که برای اجرای عملیات باز کردن فایل به کار می‌آید. ساختار تابع open برای باز کردن فایل در پایتون به صورت زیر است.

file_object  = open("filename", "mode")

در کد فوق منظور از filename نام فایلی است که شیء فایل باز خواهد کرد و mode نیز یک خصوصیت شیء فایل است و روش باز کردن فایل را مشخص می‌سازد. در ادامه در خصوص مُدهای مختلف باز کردن فایل در پایتون بیشتر توضیح خواهیم داد.

روش ایجاد فایل متنی در پایتون

برای ایجاد فایل در پایتون باید از تابع write استفاده کنیم. مراحل کار به شرح زیر است.

گام اول: باز کردن فایل txt.

ابتدا با استفاده از دستور زیر یک فایل متنی را باز می‌کنیم.

f= open("faradars.txt","w+")

توجه کنید که متغیر f به منظور باز کردن فایلی به نام faradars.txt استفاده شده است. تابع open دو آرگومان می‌گیرد که اولی فایلی است که قرار است باز شود و دومی یک رشته است که مجوزها یا عملیاتی که قرار است روی فایل اجرا شود را تعیین می‌کند.

در کد فوق عبارت w نشان می‌دهد که پایتون باید فایل را بنویسد و در صورتی که فایل موجود نباشد، آن را ایجاد کند. علامت بعلاوه (+) در انتهای دستور نشان می‌دهد که این فایل هم برای خواندن و هم برای نوشتن در پایتون باز می‌شود.

گام دوم: وارد کردن داده‌ها در فایل

به این منظور از دستور زیر استفاده می‌کنیم.

for i in range(10):
     f.write("This is line %d\r\n" % (i+1))

در دستور فوق یک حلقه تعریف شده از 1 تا 10 می‌شمارد. با استفاده از تابع write داده‌ها را در فایل وارد می‌کنیم. داده‌ای که قرار است در فایل نوشته شود، عبارت this is line number است که در تابع write پایتون اعلان شده و در ادامه مقدار d% برای نمایش مقدار متغیر ارائه شده است.

در واقع ما در هر خط، شماره خطی که در حال نوشتن آن هستیم را قرار می‌دهیم و سپس یک کاراکتر «بازگشت کارتریج» (r\) و یک کاراکتر «خط جدید» (n\) آورده‌ایم.

گام سوم: بستن وهله فایل

به منظور بستن وهله‌ای از فایل که باز شده است، از دستور زیر بهره می‌گیریم.

f.close()

این دستور وهله‌ای از فایل faradars.txt را که ذخیره شده است، می‌بندد. نتیجه اجرای کد فوق قرای ایجاد فایل متنی در پایتون به صورت زیر است.

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

هنگامی که فایل ایجاد شده فوق را باز کنید، چیزی مانند زیر می‌بینید.

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

الحاق فایل در پایتون

برای الحاق/اضافه کردن متن جدید به فایلِ از قبل موجود یا یک فایل جدید در پایتون به صورت زیر عمل می‌کنیم.

گام اول

ابتدا دستور زیر را وارد می‌کنیم.

f=open("faradars.txt", "a+")

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

گام دوم

برای نوشتن یا الحاق کردن داده‌ها در فایل از قبل موجود، از دستور زیر استفاده می‌کنیم.

for i in range(2):
     f.write("Appended line %d\r\n" % (i+1))

به این ترتیب داده‌ها به روش الحاقی در فایل باز شده نوشته می‌شوند.

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

برای مشاهده خروجی کار، فایل faradars.txt را باز می‌کنیم. در خروجی کد می‌بینیم که داده‌های جدید از طریق عملیات append در پایتون به داده‌های قبلی الحاق شده‌اند.

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

خواندن فایل در پایتون

برای خواندن یک فایل در پایتون کافی است نام فایل و «حالت خواندن» (r) را مانند مثال زیر مورد استفاده قرار دهید.

گام اول

برای باز کردن فایل در حالت خواندن از دستور زیر بهره می‌گیریم.

f=open("faradars.txt", "r")

گام دوم

در ادامه از تابع moe برای بررسی این که فایل در حالت خواندن باز شده یا نه استفاده می‌کنیم. اگر نتیجه مثبت باشد، کار را ادامه می‌دهیم.

if f.mode == 'r':

گام سوم

با استفاده از f.read می‌توانیم داده‌های فایل را خوانده و در یک متغیر ذخیره کنیم.

contents =f.read()

گام چهارم

در نهایت محتوای فایلی که خوانده شده است را پرینت می‌کنیم. خروجی مثال خواندن فایل در پایتون به صورت زیر است.

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

خواندن فایل در پایتون به روش خط به خط

در صورتی که داده‌های موجود در فایل بسیار بزرگ باشند، می‌توانیم آن‌ها را به روش خط به خط نیز بخوانیم. تابع ()readlines این وظیفه را در پایتون بر عهده دارد.

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

هنگامی که دستور ()f1=f.readlines برای خواندن خط به خط کد در پایتون اجرا می‌شود، هر خط جدا شده و کل فایل به روشی گویا ارائه می‌شود. با توجه به این که در این مثال خط‌ها کوتاه و خوانا هستند، خروجی کار شباهت زیادی به حالت read معمولی دارد که قبلاً دیدیم. اما در صورتی که با فایل‌های دارای داده‌های پیچیده کار کنید که چندان خوانا نیستند، این دستور می‌تواند بسیار مفید باشد.

مُدهای فایل در پایتون

در این بخش با مدهای کار با فایل در پایتون آشنا می‌شویم.

مد توضیح
‘r’ این حالت پیش‌فرض است و فایل را به منظور خواندن باز می‌کند.
‘w’ این مد فایل را برای نوشتن باز می‌کند. اگر فایل موجود نباشد، یک فایل جدید ایجاد می‌شود. در صورتی که فایل وجود داشته باشد، محتوای آن پاک می‌شود.
‘x’ یک فایل جدید ایجاد می‌کند. اگر فایل از قبل موجود باشد، عملیات ناموفق خواهد بود.
‘a’ فایل را در حالت «الحاق» (append) باز می‌کند. اگر فایل از قبل موجود نباشد، یک فایل جدید می‌سازد.
‘t’ این حالت پیش‌فرض است و فایل را در حالت متنی باز می‌کند.
‘b’ این آرگومان موجب می‌شود که فایل در حالت دودویی باز شود.
‘+’ با بهره‌گیری از این آرگومان، فایل برای خواندن و همچنین نوشتن (به‌روزرسانی) باز می‌شود.

فیلم آموزش پایتون (Python) مقدماتی

تصویر مربوط به معرفی آموزش برنامه نویسی پایتون (Python) - مقدماتی فرادرس در مطلب آموزش رسم نمودار در پایتون

برای شروع یادگیری برنامه نویسی پایتون می‌توان از دوره مقدماتی آموزش پایتون فرادرس استفاده کرد. طول مدت این دوره آموزشی، نزدیک به ۲۰ ساعت و مدرس آن مهندس پژمان اقبالی شمس آبادی است. این دوره آموزشی پیش‌نیازی ندارد و برای علاقه‌مندان به برنامه‌نویسی در تمامی زمینه‌ها مثلاً علم داده و هوش مصنوعی مناسب است. از جمله سرفصل‌ها و موضوعاتی که در این دوره ارائه شده‌اند، می‌توان به نصب پایتون، کتابخانه استاندارد پایتون، ساختمان داده در پایتون، توابع و ماژول‌ها، کلاس، خواندن و نوشتن فایل‌ها و سایر مباحث مقدماتی پایتون اشاره کرد.

مثال‌های عملی از کار با فایل در پایتون

در این بخش برخی مثال‌های عملی در مورد روش کار با فایل در پایتون نسخه 2 و 3 ارائه کرده‌ایم.

مثال از کار با فایل در پایتون 2

def main():
     f= open("guru99.txt","w+")
     #f=open("guru99.txt","a+")
     for i in range(10):
         f.write("This is line %d\r\n" % (i+1))
     f.close()   
     #Open the file back and read the contents
     #f=open("guru99.txt", "r")
     #   if f.mode == 'r': 
     #     contents =f.read()
     #     print contents
     #or, readlines reads the individual line into a list
     #fl =f.readlines()
     #for x in fl:
     #print x
if __name__== "__main__":
  main()

مثال از کار با فایل در پایتون 3

در این بخش همان دستورهای فوق برای پایتون 3 ارائه‌شده‌اند.

def main():
    f= open("guru99.txt","w+")
    #f=open("guru99.txt","a+")
    for i in range(10):
         f.write("This is line %d\r\n" % (i+1))
    f.close()
    #Open the file back and read the contents
    #f=open("guru99.txt", "r")
    #if f.mode == 'r':
    #   contents =f.read()
    #    print (contents)
    #or, readlines reads the individual line into a list
    #fl =f.readlines()
    #for x in fl:
    #print(x)
if __name__== "__main__":
  main()

سخن پایانی

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

بر اساس رای ۱۶ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
guru99

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *