خانه / درس ۵ مقدماتی: مدیریت خطاها و کار با فایلها در پایتون درس ۵ مقدماتی: مدیریت خطاها و کار با فایلها در پایتون 📅 ۱۴۰۴/۰۸/۱۱ ✍️ سجاد ⌛ 5 دقیقه مطالعه 👁️ 21 پایتون | Python مقدماتی 🗨️ 🤍 2 📤 0% ‹ بستن لیست دروس بازکردن لیست دروس پایتون | Python مقدماتی ▾ تا حالا شده برنامهت وسط کار خطا بده و نفهمی چرا؟ 😵 یا بخوای دادهها رو توی فایل ذخیره کنی؟ 📂 تو این درس، یاد میگیری چطور خطاها رو با try-except مدیریت کنی و چطور با فایلها (خواندن و نوشتن) کار کنی. برای مثال، میتونی یه برنامه بسازی که اطلاعات کاربر رو ذخیره کنه یا خطاهای ورودی رو کنترل کنه. بنابراین، اگر درسهای ۱ تا ۴ (متغیرها، شرطها، حلقهها، دادهساختارها و توابع) رو یاد گرفتی، حالا آمادهای که برنامههات رو پایدارتر و کاربردیتر کنی! 🚀 با مثالهای واقعی، جداول مقایسه، ۱۲ تمرین و یه پروژه جذاب، این درس تو رو برای دنیای واقعی برنامهنویسی آماده میکنه. بریم شروع کنیم! 🎉 مدیریت خطاها: نذار برنامهت خراب شه! 🛠️ خطاها مثل تلههای برنامهنویسی هستن. برای مثال، اگه کاربر به جای عدد، حروف بده، برنامهت خطا میده. با try-except میتونی خطاها رو مدیریت کنی: کپیtry: num = int(input("یه عدد بده: ")) print(f"عدد: {num}") except ValueError: print("لطفاً فقط عدد وارد کن!") علاوه بر این، میتونی چند خطا رو مدیریت کنی: کپیtry: num = int(input("عدد: ")) result = 10 / num except ValueError: print("عدد معتبر وارد کن!") except ZeroDivisionError: print("تقسیم بر صفر ممکن نیست!") به علاوه، با else و finally کنترل بیشتری داری: کپیtry: num = int(input("عدد: ")) except ValueError: print("عدد نیست!") else: print(f"ممنون! عددت: {num}") finally: print("بررسی تموم شد!") 💡 نکته: finally همیشه اجرا میشه، حتی اگه خطا باشه. بنابراین، برای تمیز کردن منابع (مثل بستن فایل) عالیه. کار با فایلها: ذخیره و بازیابی دادهها 📝 فایلها برای ذخیره دادهها (مثل لیست خرید یا نمرات) استفاده میشن. برای مثال، میتونی متنی توی فایل بنویسی: کپیwith open("data.txt", "w") as file: file.write("سلام، پایتون!\n") به همین دلیل، with فایل رو خودکار میبنده. حالتهای باز کردن فایل: حالت کارکرد توضیح "r" خواندن فقط میخونه، فایل باید وجود داشته باشه "w" نوشتن فایل جدید میسازه یا قبلی رو پاک میکنه "a" اضافه کردن به انتهای فایل اضافه میکنه به عنوان مثال، خواندن فایل: کپیwith open("data.txt", "r") as file: content = file.read() print(content) علاوه بر این، برای خواندن خطبهخط: کپیwith open("data.txt", "r") as file: for line in file: print(line.strip()) # strip() فاصلههای اضافی رو حذف میکنه 💡 نکته: مسیر فایل رو درست بده (مثل C:/PythonLessons/data.txt) وگرنه خطا میگیره. ترکیب با درسهای قبلی: توابع و دادهساختارها 🛠️ برای مثال، میتونی توابع (درس ۴) و لیستها (درس ۳) رو با فایلها ترکیب کنی: کپیdef save_list(items, filename): with open(filename, "w") as file: for item in items: file.write(f"{item}\n") shopping = ["شیر", "نان", "تخممرغ"] save_list(shopping, "shopping.txt") به علاوه، خطاها رو توی تابع مدیریت کن: کپیdef read_file(filename): try: with open(filename, "r") as file: return file.read() except FileNotFoundError: return "فایل پیدا نشد!" print(read_file("data.txt")) بنابراین، این ترکیب برنامههات رو قویتر میکنه. مثالهای عملی: دنیای واقعی 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. ذخیره نمرات: کپیtry: grades = [int(x) for x in input("نمرات (با فاصله): ").split()] with open("grades.txt", "w") as file: for grade in grades: file.write(f"{grade}\n") print("نمرات ذخیره شد!") except ValueError: print("فقط عدد وارد کن!") ۲. شمارش کلمات فایل: کپیdef count_words(filename): try: with open(filename, "r") as file: text = file.read() return len(text.split()) except FileNotFoundError: return 0 print(f"تعداد کلمات: {count_words('data.txt')}") ۳. لیست خرید با فایل: کپیdef add_to_list(item, filename="shopping.txt"): with open(filename, "a") as file: file.write(f"{item}\n") item = input("مورد جدید: ") add_to_list(item) به همین دلیل، این مثالها درسهای قبلی رو با مدیریت خطاها و فایلها ترکیب میکنن. کدها رو توی lesson5_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو مدیریت خطاها و فایلها شایعن: خطا علت راهحل FileNotFoundError فایل وجود نداره مسیر فایل یا وجودش رو چک کن PermissionError دسترسی به فایل نیست فایل رو در مسیری با دسترسی بنویس ValueError ورودی ناسازگار (مثل حروف به جای عدد) با try-except مدیریت کن برای مثال: کپیtry: with open("missing.txt", "r") as file: print(file.read()) except FileNotFoundError: print("فایل پیدا نشد!") تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: تابعی بنویس که عدد بگیره و با try-except خطای ValueError رو مدیریت کنه. برنامهای که یه لیست رو توی فایل ذخیره کنه. تابعی که تعداد خطوط یه فایل رو بشماره. برنامهای که یه فایل رو بخونه و کلماتش رو چاپ کنه. تابعی که یه مورد رو به فایل اضافه کنه. برنامهای که خطاهای ZeroDivisionError و ValueError رو مدیریت کنه. فایل نمرات رو بخون و میانگین بگیر. برنامهای که متن فایل رو معکوس چاپ کنه. لیست خرید با امکان ذخیره و خواندن از فایل. تابعی که بررسی کنه فایل وجود داره یا نه. برنامهای که کلمات تکراری فایل رو بشماره. تابعی که یه دیکشنری رو توی فایل ذخیره کنه. 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: دفترچه یادداشت ساده 📓 برای مثال، بیایم یه برنامه دفترچه یادداشت بسازیم که یادداشتها رو ذخیره و نمایش بده: یادداشتها رو توی فایل ذخیره کن. امکان اضافه، نمایش و حذف. مدیریت خطاها. کپیdef add_note(note, filename="notes.txt"): try: with open(filename, "a") as file: file.write(f"{note}\n") print("یادداشت اضافه شد!") except PermissionError: print("خطا: مشکل دسترسی به فایل!") def show_notes(filename="notes.txt"): try: with open(filename, "r") as file: notes = file.readlines() for i, note in enumerate(notes, 1): print(f"{i}. {note.strip()}") except FileNotFoundError: print("هیچ یادداشتی نیست!") while True: print("\n=== دفترچه یادداشت ===") action = input("اضافه (a)، نمایش (s)، خروج (q): ") if action == "q": break elif action == "a": note = input("یادداشت: ") add_note(note) elif action == "s": show_notes() print("خداحافظ!") 💡 تست کن: یادداشت اضافه کن، نمایش بده و فایل notes.txt رو چک کن. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: چرا از try-except استفاده کنیم؟ برای جلوگیری از خراب شدن برنامه. with بهتره یا باز کردن معمولی؟ with فایل رو خودکار میبنده. چطور خطای فایل رو رفع کنم؟ مسیر و دسترسی فایل رو چک کن. فایل متنی کجا ذخیره میشه؟ توی پوشه پروژهت (مثل PythonLessons). جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس مدیریت خطاها و کار با فایلها رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی مسلط شدی. بنابراین، حالا میتونی برنامههای پایدار و کاربردی بسازی. علاوه بر این، درس بعدی (ماژولها و کتابخانهها) بهت یاد میده چطور از کدهای آماده استفاده کنی. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن تا پیشرفتت رو نشون بدی! 😎 کوییز مرتبط برای سنجش مهارت📝 آموزش پایتون مقدماتی مرور مفاهیم پایه : کوییز درسهای ۱ تا ۵ سلام دوستان! 😄 بعد از مطالعه درسهای ۱ تا ۵ آموزش پایتون در sajjadasadi.ir، وقتشه با این کوییز ۳۰ سواله مهارتهاتون رو تست کنید! 🚀 شامل سوالات چهارگزینهای و جای خالی برای مرور متغیرها، شرطها، حلقهها، دادهساختارها، توابع و مدیریت خطاها و فایلهاست. آمادهاید؟ بریم شروع کنیم! 🎉 برای شرکت در آزمون وارد شویدبرای دسترسی به این آزمون و مشاهده نتایج، باید وارد حساب کاربری خود شوید.ورود به سایت ← درس قبلی: درس ۴ مقدماتی: توابع در پایتون – کدهای تمیز و قابلاستفاده مجدد درس بعدی: درس ۶ مقدماتی: ماژولها و کتابخانهها در پایتون → برچسبها: error handlingfile handlingpythontry-exceptبرنامهنویسی مبتدیپایتونفایل متنی پایتونکار با فایلمدیریت خطا ارسال نظر جدید لغو پاسخ ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.
تا حالا شده برنامهت وسط کار خطا بده و نفهمی چرا؟ 😵 یا بخوای دادهها رو توی فایل ذخیره کنی؟ 📂 تو این درس، یاد میگیری چطور خطاها رو با try-except مدیریت کنی و چطور با فایلها (خواندن و نوشتن) کار کنی. برای مثال، میتونی یه برنامه بسازی که اطلاعات کاربر رو ذخیره کنه یا خطاهای ورودی رو کنترل کنه. بنابراین، اگر درسهای ۱ تا ۴ (متغیرها، شرطها، حلقهها، دادهساختارها و توابع) رو یاد گرفتی، حالا آمادهای که برنامههات رو پایدارتر و کاربردیتر کنی! 🚀 با مثالهای واقعی، جداول مقایسه، ۱۲ تمرین و یه پروژه جذاب، این درس تو رو برای دنیای واقعی برنامهنویسی آماده میکنه. بریم شروع کنیم! 🎉 مدیریت خطاها: نذار برنامهت خراب شه! 🛠️ خطاها مثل تلههای برنامهنویسی هستن. برای مثال، اگه کاربر به جای عدد، حروف بده، برنامهت خطا میده. با try-except میتونی خطاها رو مدیریت کنی: کپیtry: num = int(input("یه عدد بده: ")) print(f"عدد: {num}") except ValueError: print("لطفاً فقط عدد وارد کن!") علاوه بر این، میتونی چند خطا رو مدیریت کنی: کپیtry: num = int(input("عدد: ")) result = 10 / num except ValueError: print("عدد معتبر وارد کن!") except ZeroDivisionError: print("تقسیم بر صفر ممکن نیست!") به علاوه، با else و finally کنترل بیشتری داری: کپیtry: num = int(input("عدد: ")) except ValueError: print("عدد نیست!") else: print(f"ممنون! عددت: {num}") finally: print("بررسی تموم شد!") 💡 نکته: finally همیشه اجرا میشه، حتی اگه خطا باشه. بنابراین، برای تمیز کردن منابع (مثل بستن فایل) عالیه. کار با فایلها: ذخیره و بازیابی دادهها 📝 فایلها برای ذخیره دادهها (مثل لیست خرید یا نمرات) استفاده میشن. برای مثال، میتونی متنی توی فایل بنویسی: کپیwith open("data.txt", "w") as file: file.write("سلام، پایتون!\n") به همین دلیل، with فایل رو خودکار میبنده. حالتهای باز کردن فایل: حالت کارکرد توضیح "r" خواندن فقط میخونه، فایل باید وجود داشته باشه "w" نوشتن فایل جدید میسازه یا قبلی رو پاک میکنه "a" اضافه کردن به انتهای فایل اضافه میکنه به عنوان مثال، خواندن فایل: کپیwith open("data.txt", "r") as file: content = file.read() print(content) علاوه بر این، برای خواندن خطبهخط: کپیwith open("data.txt", "r") as file: for line in file: print(line.strip()) # strip() فاصلههای اضافی رو حذف میکنه 💡 نکته: مسیر فایل رو درست بده (مثل C:/PythonLessons/data.txt) وگرنه خطا میگیره. ترکیب با درسهای قبلی: توابع و دادهساختارها 🛠️ برای مثال، میتونی توابع (درس ۴) و لیستها (درس ۳) رو با فایلها ترکیب کنی: کپیdef save_list(items, filename): with open(filename, "w") as file: for item in items: file.write(f"{item}\n") shopping = ["شیر", "نان", "تخممرغ"] save_list(shopping, "shopping.txt") به علاوه، خطاها رو توی تابع مدیریت کن: کپیdef read_file(filename): try: with open(filename, "r") as file: return file.read() except FileNotFoundError: return "فایل پیدا نشد!" print(read_file("data.txt")) بنابراین، این ترکیب برنامههات رو قویتر میکنه. مثالهای عملی: دنیای واقعی 💡 برای مثال، بیایم چند برنامه کاربردی بسازیم: ۱. ذخیره نمرات: کپیtry: grades = [int(x) for x in input("نمرات (با فاصله): ").split()] with open("grades.txt", "w") as file: for grade in grades: file.write(f"{grade}\n") print("نمرات ذخیره شد!") except ValueError: print("فقط عدد وارد کن!") ۲. شمارش کلمات فایل: کپیdef count_words(filename): try: with open(filename, "r") as file: text = file.read() return len(text.split()) except FileNotFoundError: return 0 print(f"تعداد کلمات: {count_words('data.txt')}") ۳. لیست خرید با فایل: کپیdef add_to_list(item, filename="shopping.txt"): with open(filename, "a") as file: file.write(f"{item}\n") item = input("مورد جدید: ") add_to_list(item) به همین دلیل، این مثالها درسهای قبلی رو با مدیریت خطاها و فایلها ترکیب میکنن. کدها رو توی lesson5_examples.py ذخیره کن. خطاهای رایج و راهحلها ⚠️ به طور کلی، این خطاها تو مدیریت خطاها و فایلها شایعن: خطا علت راهحل FileNotFoundError فایل وجود نداره مسیر فایل یا وجودش رو چک کن PermissionError دسترسی به فایل نیست فایل رو در مسیری با دسترسی بنویس ValueError ورودی ناسازگار (مثل حروف به جای عدد) با try-except مدیریت کن برای مثال: کپیtry: with open("missing.txt", "r") as file: print(file.read()) except FileNotFoundError: print("فایل پیدا نشد!") تمرینها: مهارتت رو تست کن! 📝 برای تسلط، این ۱۲ تمرین رو حل کن: تابعی بنویس که عدد بگیره و با try-except خطای ValueError رو مدیریت کنه. برنامهای که یه لیست رو توی فایل ذخیره کنه. تابعی که تعداد خطوط یه فایل رو بشماره. برنامهای که یه فایل رو بخونه و کلماتش رو چاپ کنه. تابعی که یه مورد رو به فایل اضافه کنه. برنامهای که خطاهای ZeroDivisionError و ValueError رو مدیریت کنه. فایل نمرات رو بخون و میانگین بگیر. برنامهای که متن فایل رو معکوس چاپ کنه. لیست خرید با امکان ذخیره و خواندن از فایل. تابعی که بررسی کنه فایل وجود داره یا نه. برنامهای که کلمات تکراری فایل رو بشماره. تابعی که یه دیکشنری رو توی فایل ذخیره کنه. 💡 نکته: هر تمرین رو توی فایل جدا (ex1.py، ex2.py) ذخیره کن. پروژه کوچک: دفترچه یادداشت ساده 📓 برای مثال، بیایم یه برنامه دفترچه یادداشت بسازیم که یادداشتها رو ذخیره و نمایش بده: یادداشتها رو توی فایل ذخیره کن. امکان اضافه، نمایش و حذف. مدیریت خطاها. کپیdef add_note(note, filename="notes.txt"): try: with open(filename, "a") as file: file.write(f"{note}\n") print("یادداشت اضافه شد!") except PermissionError: print("خطا: مشکل دسترسی به فایل!") def show_notes(filename="notes.txt"): try: with open(filename, "r") as file: notes = file.readlines() for i, note in enumerate(notes, 1): print(f"{i}. {note.strip()}") except FileNotFoundError: print("هیچ یادداشتی نیست!") while True: print("\n=== دفترچه یادداشت ===") action = input("اضافه (a)، نمایش (s)، خروج (q): ") if action == "q": break elif action == "a": note = input("یادداشت: ") add_note(note) elif action == "s": show_notes() print("خداحافظ!") 💡 تست کن: یادداشت اضافه کن، نمایش بده و فایل notes.txt رو چک کن. سؤالات متداول (FAQ) ❓ به طور کلی، این سؤالات برای مبتدیها رایجه: چرا از try-except استفاده کنیم؟ برای جلوگیری از خراب شدن برنامه. with بهتره یا باز کردن معمولی؟ with فایل رو خودکار میبنده. چطور خطای فایل رو رفع کنم؟ مسیر و دسترسی فایل رو چک کن. فایل متنی کجا ذخیره میشه؟ توی پوشه پروژهت (مثل PythonLessons). جمعبندی و قدم بعدی ⏭️ تبریک! 🚀 تو این درس مدیریت خطاها و کار با فایلها رو یاد گرفتی و با بیش از ۱۲ مثال و یه پروژه، حسابی مسلط شدی. بنابراین، حالا میتونی برنامههای پایدار و کاربردی بسازی. علاوه بر این، درس بعدی (ماژولها و کتابخانهها) بهت یاد میده چطور از کدهای آماده استفاده کنی. در نهایت، تمرینها رو توی PythonLessons ذخیره کن و اگه دوست داشتی، توی GitHub آپلود کن تا پیشرفتت رو نشون بدی! 😎 کوییز مرتبط برای سنجش مهارت📝 آموزش پایتون مقدماتی مرور مفاهیم پایه : کوییز درسهای ۱ تا ۵ سلام دوستان! 😄 بعد از مطالعه درسهای ۱ تا ۵ آموزش پایتون در sajjadasadi.ir، وقتشه با این کوییز ۳۰ سواله مهارتهاتون رو تست کنید! 🚀 شامل سوالات چهارگزینهای و جای خالی برای مرور متغیرها، شرطها، حلقهها، دادهساختارها، توابع و مدیریت خطاها و فایلهاست. آمادهاید؟ بریم شروع کنیم! 🎉 برای شرکت در آزمون وارد شویدبرای دسترسی به این آزمون و مشاهده نتایج، باید وارد حساب کاربری خود شوید.ورود به سایت ← درس قبلی: درس ۴ مقدماتی: توابع در پایتون – کدهای تمیز و قابلاستفاده مجدد درس بعدی: درس ۶ مقدماتی: ماژولها و کتابخانهها در پایتون → برچسبها: error handlingfile handlingpythontry-exceptبرنامهنویسی مبتدیپایتونفایل متنی پایتونکار با فایلمدیریت خطا