Python File Open

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

🔹 ساختار تابع ()open

file = open("filename", "mode")
  • filename: مسیر و نام فایل (مثلاً "data.txt").

  • mode: حالت باز کردن فایل.

🔹 حالت‌های متداول (Mode)

حالتتوضیح
"r"فقط خواندن (پیش‌فرض). خطا می‌دهد اگر فایل وجود نداشته باشد.
"w"نوشتن (اگر فایل وجود نداشته باشد ایجاد می‌کند؛ اگر باشد محتوا را پاک می‌کند).
"a"افزودن به انتهای فایل (append).
"x"ایجاد فایل جدید (اگر فایل وجود داشته باشد خطا می‌دهد).
"b"حالت باینری (مثلاً "rb" یا "wb").
"t"حالت متنی (پیش‌فرض).
"+"خواندن و نوشتن همزمان (مثلاً "r+" یا "w+").

🔹 خواندن فایل

1️⃣ خواندن کل محتوا

f = open("example.txt", "r") content = f.read() print(content) f.close()

2️⃣ خواندن خطوط

f = open("example.txt", "r") lines = f.readlines() for line in lines: print(line.strip()) f.close()

یا خط به خط:

with open("example.txt", "r") as f: for line in f: print(line.strip())

🔹 نوشتن در فایل

f = open("example.txt", "w") f.write("سلام دنیا!\n") f.write("خط دوم\n") f.close()

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

🔹 افزودن به انتهای فایل

f = open("example.txt", "a") f.write("خط جدید اضافه شد\n") f.close()

🔹 کار با with (توصیه شده)

استفاده از with باعث می‌شود فایل پس از اتمام کار به‌طور خودکار بسته شود:

with open("example.txt", "r") as f: print(f.read())

🔹 کار با فایل باینری (عکس، صدا و …)

with open("image.png", "rb") as f: data = f.read()

یا نوشتن:

with open("copy.png", "wb") as f: f.write(data)

🔹 مدیریت خطا

try: with open("nofile.txt", "r") as f: print(f.read()) except FileNotFoundError: print("فایل پیدا نشد!")

🔹 تمرین‌های پیشنهادی

  1. یک فایل متنی بساز، چند خط در آن بنویس و دوباره بخوان.

  2. فایلی باز کن و تعداد خطوط، کلمات و کاراکترهای آن را محاسبه کن.

  3. یک فایل متنی دیگر ایجاد کن و محتوای فایل اول را در آن کپی کن.

✅ خلاصه

  • open(filename, mode) برای کار با فایل‌ها استفاده می‌شود.

  • حالت‌های اصلی: r (خواندن)، w (نوشتن)، a (افزودن)، x (ایجاد).

  • همیشه بعد از کار فایل را ببندید یا از with برای بستن خودکار استفاده کنید.

  • می‌توانید با rb و wb فایل‌های باینری مثل عکس یا صدا را مدیریت کنید.