حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش پایتون پروژه‌محور؛ قسمت سوم: شیءگرایی تا ساخت برنامه

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

ذخیره داده در پایتون؛ فایل، JSON و pickle · 0٪

فعالیت محلی: حافظهٔ معمول برنامه بعد از پایان اجرا حفظ نمی‌شه. برای نگهداری یادداشت از فایل متنی استفاده می‌کنیم. حالت r برای خواندن هست و فایل باید وجود داشته باشه؛ w برای نوشتن هست و محتوای قبلی رو پاک می‌کنه؛ a برای افزودن به انتهاست. حالت‌های باینری مثل rb و wb با bytes کار می‌کنن و encoding نمی‌گیرن.

وقتی فایل رو داخل with باز می‌کنی، بعد از پایان اون بخش خودکار بسته می‌شه؛ حتی اگه خطایی پیش بیاد. این مدیریت خودکار به کمک چیزی به اسم context manager انجام می‌شه. برای متن فارسی encoding="utf-8" رو صریح بنویس. مسیر نسبی، مثل notes.txt، از پوشه‌ای حساب می‌شه که برنامه در اون اجرا شده؛ این پوشه همیشه همون پوشه فایل کد نیست.

from pathlib import Path

path = Path("notes.txt")
with path.open("w", encoding="utf-8") as file:
    file.write("تمرین پایتون\n")
with path.open("a", encoding="utf-8") as file:
    file.write("قدم دوم\n")

try:
    with path.open("r", encoding="utf-8") as file:
        print(file.read(), end="")
except FileNotFoundError:
    print("فایل هنوز ساخته نشده است")
except (OSError, UnicodeError) as error:
    print("خواندن فایل ممکن نشد:", error)

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

فعالیت شما

باز کردن، خواندن و نوشتن فایل رو تمرین کن و با with، UTF-8 و خطاهای رایج آشنا شو.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

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

فعالیت‌های این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک

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