پایتون

روز ۴۷ آموزش پایتون: پروژه مدیریت فایل‌ها و فولدرها در سیستم

یکی از مهم‌ترین کاربردهای پایتون در دنیای واقعی، مدیریت فایل‌ها و فولدرها در سیستم است. در بسیاری از پروژه‌ها نیاز داریم تا فایل‌ها را ایجاد، حذف یا تغییر مسیر دهیم، محتویات یک فولدر را بررسی کنیم و حتی از ورودی کاربر برای مشخص کردن مسیرها استفاده کنیم. ترکیب ماژول‌های 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 می‌توان برنامه‌ای کاربردی برای مدیریت فایل‌ها و فولدرها ایجاد کرد. شما با این پروژه یاد گرفتید که چگونه مسیرها را بررسی کنید، فایل‌ها را ایجاد، حذف یا خوانده و از ورودی کاربر برای کنترل عملیات استفاده کنید. این مهارت‌ها پایه‌ای برای بسیاری از پروژه‌های واقعی مانند سیستم مدیریت دفترچه یادداشت، برنامه‌های پردازش داده، یا هر نرم‌افزار مبتنی بر فایل و فولدر هستند. با تمرین بیشتر، می‌توانید این برنامه را توسعه داده و امکاناتی مانند گزارش‌گیری، جستجوی فایل و عملیات گروهی روی فایل‌ها اضافه کنید تا تجربه حرفه‌ای بیشتری کسب کنید.

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نه + 17 =

دکمه بازگشت به بالا