تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 19 اردیبهشت 1402 |
سطح تمرین | متوسط |
در این پست قصد داریم نمونه مثال شی گرایی در پایتون را بررسی و پیاده سازی کنیم.
✍️ مسئله : برنامه ای بنویسید بوسیله تعریف کلاس ، بتواند یک مسیر تعیین شده را برای مدیریت فایل موجود در آن مسیر مدیریت نماید که به شرح زیر است :
1- در سازنده کلاس مسیر ابتدایی برای کار کردن بعنوان پارامتر ورودی در نظر گرفته شود. (این مورد توسط متدی در کلاس قابل تغییر است)
2- یک متد برای کپی کردن فایل انتخابی در مقصدی قابل تعیین.
3- یک متد برای حذف فایل (در constructor کلاس مشخص است)
4- یک متد برای تغییر نام فایل.
5- یک متد برای بررسی وجود فایل
مشاهده ویدیو حل تمرین
برای حل این نمونه مثال شی گرایی در پایتون ابتدا باید یک کلاس بنام FM یا مخفف مدیریت فایل ایجاد نماییم.
سپس از طریق سازنده مسیر را به عنوان ورودی مشخص نماییم.
در متد هایی که مینویسیم اگر نیاز به مسیر داشتیم دیگر مسیر را به عنوان ورودی متد دریافت نمیکنیم.
پس ابتدا کلاس FM را با سازنده به صورت زیر تعریف میکنیم:
class FM: def __init__(self,path): self.path = path def set_path(self,new_path): self.path = new_path
همانطور که مشاهده میکنید از __init__ برای مقدار دهی اولیه به کلاس استفاده کردیم.
همچنین از متد set_path برای تغییر مسیر پس از ساخت نمونه از کلاس استفاده میکنیم.
تا اینجا قسمت اول از این کلاس را انجام دادیم.
برای انجام قسمت دوم نیاز به کتابخانه ای بنام shutil داریم پس ابتدا این پکیج را import میکنیم.
سپس با تعریف متد copy عمل کپی فایل در مسیر جدیدی را انجام میدهیم.
سورس کد به صورت زیر میباشد:
import shutil class FM: def __init__(self,path): self.path = path def set_path(self,new_path): self.path = new_path def copy(self,destination): shutil.copyfile(self.path,destination)
برای اینکه متد بخش delete را بنویسیم نیاز به استفاده از پکیج OS داریم.
پس ابتدا باید پکیج OS را Import کنیم و سپس متد delete را پیاده سازی کنیم.
import shutil import os class FM: def __init__(self,path): self.path = path def set_path(self,new_path): self.path = new_path def copy(self,destination): shutil.copyfile(self.path,destination) def remove(self): os.remove(self.path)
این دو متد نیز هر دو در پکیج OS قرار دارند.
برای تغییر نام باید مسیر فایل جدید را دریافت کنیم که آن را تغییر نام بدیم.
در اصل ورود نام جدید توسط کاربر میباشد.
ولی برای بررسی وجود فایل دیگر احتیاج به این کار نداریم چون مسیرفایل را در ویژگی PATH داریم.
برای ساخت شی از کلاس FM یک فایل جدید بنام main.py را ایجاد میکنیم.
سپس با استفاده از from package import class اطلاعات کلاس را در این فایل وارد میکنیم.
در نهایت با مقدار دهی مسیر فایل از متد ها استفاده میکنیم.
from FileManagementSystem import FM fms = FM(r'e:\hesam.txt') # fms.copy(r'd:\test.txt') # fms.remove() # fms.rename(r'e:\hesam.txt') print(fms.check_exists())
پس سورس کد کامل برنامه به صورت زیر میباشد:
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.