
روز ۴۷ آموزش پایتون: پروژه مدیریت فایلها و فولدرها در سیستم
یکی از مهمترین کاربردهای پایتون در دنیای واقعی، مدیریت فایلها و فولدرها در سیستم است. در بسیاری از پروژهها نیاز داریم تا فایلها را ایجاد، حذف یا تغییر مسیر دهیم، محتویات یک فولدر را بررسی کنیم و حتی از ورودی کاربر برای مشخص کردن مسیرها استفاده کنیم. ترکیب ماژولهای os, sys و pathlib امکان ایجاد برنامههای کاملاً پویا و قابل تنظیم را فراهم میکند. این پروژه تمرینی باعث میشود شما با مفاهیم پایه مدیریت فایلها و مسیرها آشنا شوید و بتوانید این مهارت را در پروژههای واقعی مانند مدیریت دفترچه یادداشت، لیست خرید یا سیستمهای ذخیرهسازی داده به کار ببرید.
ساختار پروژه و اهداف آن
هدف این پروژه ساخت برنامهای است که بتواند فولدرها و فایلها را مدیریت کند. کاربران میتوانند مسیر مورد نظر خود را مشخص کنند، فایلها را ایجاد، حذف یا بررسی کنند و حتی محتویات فایلها را بخوانند یا ذخیره کنند. ابتدا با ماژول os شروع میکنیم که امکانات پایهای برای مدیریت سیستم فایل ارائه میدهد. متدهایی مانند os.listdir(), os.mkdir(), os.remove() و os.path.exists() ابزارهای کلیدی برای بررسی و تغییر ساختار فایلها هستند. با استفاده از این متدها میتوانیم به راحتی یک فولدر ایجاد کرده، محتویات آن را لیست کنیم و فایلها را مدیریت کنیم.
import os
folder_name = "project_files"
if not os.path.exists(folder_name):
os.mkdir(folder_name)
print(f"Folder '{folder_name}' created successfully")
print("Contents of current directory:", os.listdir())در این مثال ابتدا بررسی میکنیم که آیا فولدر مورد نظر وجود دارد یا نه و در صورت عدم وجود، آن را ایجاد میکنیم. سپس محتوای دایرکتوری جاری لیست میشود و کاربران میتوانند مشاهده کنند که فولدر جدید اضافه شده است. این روش پایهای برای مدیریت فولدرها و ساختاردهی فایلها در پروژههای پیچیدهتر است.
دریافت ورودی از کاربر با sys و pathlib
برای ایجاد برنامهای پویا نیاز است مسیرها و نام فایلها از کاربر دریافت شوند. ماژول sys امکان دریافت آرگومانهای خط فرمان و ماژول pathlib امکان مدیریت مسیرها به شکل شیگرا را فراهم میکند. ترکیب این دو ماژول باعث میشود برنامه به راحتی مسیرها را بررسی کرده و در صورت نیاز فایلها را ایجاد یا حذف کند. نمونه کد:
import sys
from pathlib import Path
if len(sys.argv) < 2:
print("Please provide a file name as argument")
else:
file_name = sys.argv[1]
file_path = Path.cwd() / file_name
if not file_path.exists():
file_path.write_text("This is a new file.")
print(f"File '{file_name}' created")
else:
print(f"File '{file_name}' already exists")در این مثال نام فایل از خط فرمان دریافت میشود و مسیر آن با pathlib ساخته میشود. اگر فایل وجود نداشته باشد، ایجاد میشود و اگر موجود باشد، پیام مناسب به کاربر نمایش داده میشود. این الگو برای برنامههای مدیریت فایل در پروژههای واقعی بسیار کاربردی است.
افزودن امکانات پیشرفته برای مدیریت فولدرها و فایلها
پس از ایجاد و بررسی فایلها، میتوانیم امکانات بیشتری به برنامه اضافه کنیم. به عنوان مثال، امکان حذف فایلها، انتقال فایلها بین فولدرها و یا خواندن محتویات فایلها. ترکیب متدهای os.remove(), shutil.move() و pathlib.read_text() باعث میشود برنامه کاملاً کاربردی و آماده استفاده در پروژههای واقعی باشد. نمونه کد برای حذف و خواندن فایل:
import os
from pathlib import Path
file_to_delete = Path("old_file.txt")
if file_to_delete.exists():
os.remove(file_to_delete)
print(f"File '{file_to_delete}' deleted")
new_file = Path("project_files/example.txt")
if new_file.exists():
content = new_file.read_text()
print("File content:", content)در این مثال ابتدا یک فایل قدیمی حذف میشود و سپس محتوای یک فایل جدید خوانده و نمایش داده میشود. این کار باعث میشود کاربران بتوانند فایلها را مدیریت کرده و اطلاعات مهم را بازیابی کنند.
جمعبندی پروژه
این تمرین عملی نشان میدهد که چگونه با ترکیب ماژولهای os, sys و pathlib میتوان برنامهای کاربردی برای مدیریت فایلها و فولدرها ایجاد کرد. شما با این پروژه یاد گرفتید که چگونه مسیرها را بررسی کنید، فایلها را ایجاد، حذف یا خوانده و از ورودی کاربر برای کنترل عملیات استفاده کنید. این مهارتها پایهای برای بسیاری از پروژههای واقعی مانند سیستم مدیریت دفترچه یادداشت، برنامههای پردازش داده، یا هر نرمافزار مبتنی بر فایل و فولدر هستند. با تمرین بیشتر، میتوانید این برنامه را توسعه داده و امکاناتی مانند گزارشگیری، جستجوی فایل و عملیات گروهی روی فایلها اضافه کنید تا تجربه حرفهای بیشتری کسب کنید.
