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

Please login to bookmark Close

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

در واقع، در این صفحه پاسخ تمرین فایل متنی در پایتون را همراه با کد کامل و توضیح می‌بینید.

نام دورهدوره آموزش پایتون مقدماتی
درسنامهکار با text
تمرین‌هامشاهده

پاسخ تمرین ۱ – نوشتن و خواندن

with open("notes.txt", "w", encoding="utf-8") as file:
    file.write("خط اولn")
    file.write("خط دومn")
    file.write("خط سومn")

with open("notes.txt", "r", encoding="utf-8") as file:
    print(file.read())

بنابراین پارامتر encoding="utf-8" را حتماً بنویسید. در ویندوز بدون آن، متن فارسی به هم می‌ریزد یا خطای UnicodeDecodeError می‌گیرید.

همچنین، دقت کنید که write برخلاف print خودبه‌خود خط جدید نمی‌زند؛ باید n بنویسید.

پاسخ تمرین ۲ – خط به خط

with open("notes.txt", "r", encoding="utf-8") as file:
    for number, line in enumerate(file, start=1):
        print(number, line.strip())
1 خط اول
2 خط دوم
3 خط سوم

به این ترتیب، متد strip کاراکتر خط جدید انتهای هر خط را حذف می‌کند. بدون آن، بین خطوط فاصله‌ی اضافی می‌بینید.

علاوه بر این، حلقه روی فایل را ترجیح بدهید. تابع read کل فایل را در حافظه می‌ریزد؛ برای فایل یک گیگابایتی فاجعه است.

پاسخ تمرین ۳ – افزودن

with open("notes.txt", "a", encoding="utf-8") as file:
    file.write("خط چهارمn")

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

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

پاسخ تمرین ۴ – شمارش کلمات

lines = 0
words = 0

with open("notes.txt", "r", encoding="utf-8") as file:
    for line in file:
        lines += 1
        words += len(line.split())

print("خطوط:", lines)
print("کلمات:", words)

بنابراین متد split بدون ورودی، متن را از هر نوع فاصله‌ای جدا می‌کند و فاصله‌های تکراری را هم درست مدیریت می‌کند.

پاسخ تمرین ۵ – دو اشتباه

همچنین، اول اینکه فایل بسته نشده. دوم اینکه encoding مشخص نشده.

with open("notes.txt", "w", encoding="utf-8") as file:
    file.write("سلام")

به این ترتیب، دستور with خودکار فایل را می‌بندد، حتی اگر وسط کار خطایی رخ دهد. دقیقاً همان کاری که در درس مدیریت خطا با finally انجام می‌دادید.

علاوه بر این، اگر فایل بسته نشود، ممکن است محتوا اصلاً روی دیسک نوشته نشود، چون پایتون نوشتن را بافر می‌کند.

در نهایت، برای مطالعه‌ی بیشتر می‌توانید به مستندات رسمی پایتون سر بزنید.

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

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

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم