در این ویدیو نحوه کار با فایل های پایتون را یاد میگیرید. خواندن و نوشتن فایل ها یکی از متداول ترین عملیات هایی است که در پایتون انجام خواهید داد. پایتون از توابع مختلفی برای کار با فایل ها استفاده میکند، مثلا تابع open برای باز کردن فایل استفاده میشود. تابع open یکی از توابع داخلی پایتون است و نیازی به import کردن آن نیست.
هر فایل به عنوان دنباله ای از بایت ها شناخته میشود که برای ذخیره داده استفاده می شود. به دلیل شی گرا بودن پایتون، هر فایل در پایتون به عنوان یک آبجکت File شناخته می شود. ماژول های مختلفی مانند os, shutil, pathlib در پایتون برای کار با فایل ها وجود دارد اما در این آموزش ما فقط با توابع داخلی پایتون کار خواهیم کرد.
# باز کردن فایل در پایتون
باز فایل در پایتون عملیاتی بسیار ساده است. با استفاده از تابع open میتوانید یک فایل را باز کرده و محتویات آن را مشاهده کنید و یا داخل آن چیزی بنویسید. برای کار با تابع open پایتون باید به شکل زیر کار کنید:
f = open('file_name', 'mode')
تابع open به دو آرگومان نیاز دارد. آرگومان اول نام و مسیر فایلی است که میخواهید با آن کار کنید و آرگومان دوم حالتی که میخواهید با آن فایل کار کنید است. دقت کنید که اگر فایلی که در تابع open استفاده میکنید وجود نداشته باشد، تابع open آن فایل را برای شما ایجاد خواهد کرد. تابع open بعد از باز کردن فایل، آن را در متغیر ذخیره خواهد کرد و شما میتوانید با استفاده از آن متغیر عملیات های مختلفی به روی آن فایل اجرا کنید.
باید دقت کنید که باز کردن یک فایل منابع سیستم شما را اشغال میکند و بعد از اینکه کارتان با فایل تمام شد، باید با تابع close آن فایل را ببندید، مانند کد زیر:
f.close()
البته روش بهتری برای کار با فایل ها وجود دارد. شما میتوانید از کلمه کلیدی with در کنار تابع open استفاده کنید تا به صورت اتوماتیک فایل برای شما بسته شود. پیشنهاد میشود که به شکل زیر با تابع open کار کنید:
with open('file_name', 'mode') as f:
# some operations
در حالت بالا، شما فایل را به شکل context manager باز کردید و دیگر نیازی به صدا زدن تابع close ندارید.
# خواندن فایل در پایتون
برای خواندن محتویات یک فایل در پایتون باید از تابع read استفاده کنید. به کد زیر دقت کنید:
with open('a.txt', 'r') as f:
contents = f.read()
print(contents)
در کد بالا، ابتدا یک فایل به نام a.txt را با حالت r باز کرده ایم. حالت r به این معنی است که میخواهیم اطلاعات فایل را بخوانیم. سپس فایل را در متغیر f ذخیره کردیم. در نهایت با استفاده از تابع read تمام محتویاتی که داخل فایل وجود داشته را دریافت کردیم و در متغیر contents ذخیره کردیم. در خط آخر هم محتویات را در خروجی نمایش دادیم. اگر کد بالا را اجرا کنید، محتویات فایل برای شما نمایش داده خواهد شد:
Hello..!
# نوشتن فایل در پایتون
برای نوشتن داخل فایل باید از تابع write استفاده کنید و همچنین فایل را در حالت w باز کنید. حالت w به این معنی است که میخواهیم داخل فایل چیزی بنویسیم. به کد زیر دقت کنید:
with open('a.txt', 'w') as f:
f.write('New content..!')
در کد بالا، ابتدا فایل را در حالت w باز کرده و سپس با استفاده از تابع write محتویات جدید را داخل فایل ذخیره کرده ایم. اگر کد بالا را چند بار اجرا کنید متوجه خواهید شد که محتویات جدید فایل هر بار جایگزین محتویات قبلی خواهد شد. به این دلیل حالت w است که تمام اطلاعات قبلی را پاک کرده و محتویات جدید را داخل فایل اضافه میکند. اگر میخواهید محتویات قبلی حذف نشوند و محتویات جدید به فایل اضافه شوند، باید فایل را در حالت a باز کنید. حالت a به معنی append است که برای الحاق محتویات جدید استفاده میشود. به کد زیر دقت کنید:
with open('a.txt', 'a') as f:
f.write('New content..!\n')
کد بالا، محتویات را به فایل اضافه میکند، بدون حذف محتویات قبلی.
ارسال نظر