كيفية استخدام مكتبة pathlib لإدارة الملفات والمسارات في Python
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 19 ديسمبر 2024محتوى المقال
- ما هي مكتبة pathlib؟
- البدء مع pathlib
- إنشاء كائن Path
- إنشاء الملفات والمجلدات
- حذف الملفات والمجلدات
- استعراض محتويات المجلدات
- التحقق من نوع المسار
- نسخ ونقل الملفات والمجلدات
- التعامل مع المسارات المطلقة والنسبية
- قراءة وكتابة الملفات باستخدام pathlib
- الخاتمة
تُعد مكتبة pathlib
واحدة من الأدوات الحديثة والقوية في Python للتعامل مع الملفات والمسارات بشكل أكثر كفاءة ووضوح. على عكس الأساليب القديمة التي تعتمد على مكتبة os
، توفر pathlib
واجهة كائنية (Object-Oriented) تجعل إدارة الملفات والمسارات أكثر سهولة وبديهية. في هذا المقال، سنتعلم كيفية استخدام pathlib
للقيام بالمهام الأساسية مثل إنشاء الملفات والمجلدات، حذفها، نسخها، وغيرها.
ما هي مكتبة pathlib؟
pathlib
هي مكتبة مدمجة في Python ابتداءً من الإصدار 3.4، وتوفر واجهة كائنية لإدارة الملفات والمسارات. بدلاً من التعامل مع المسارات كسلاسل نصية، تسمح لك pathlib
باستخدام كائنات من نوع Path
التي تحتوي على العديد من الدوال والخصائص التي تسهل التفاعل مع نظام الملفات.
البدء مع pathlib
لاستخدام pathlib
، تحتاج أولاً إلى استيرادها في مشروعك:
from pathlib import Path
بعد استيراد Path
، يمكنك البدء في التعامل مع المسارات بسهولة.
إنشاء كائن Path
يمكنك إنشاء كائن Path
يشير إلى ملف أو مجلد معين ببساطة باستخدام اسم المسار:
# إنشاء كائن Path يشير إلى ملف معين
file_path = Path('path/to/your/file.txt')
# إنشاء كائن Path يشير إلى مجلد
folder_path = Path('path/to/your/folder')
بعد إنشاء كائن Path
، يمكنك استخدام العديد من الوظائف المتاحة لتنفيذ عمليات على المسار.
إنشاء الملفات والمجلدات
يمكنك بسهولة إنشاء ملفات ومجلدات باستخدام مكتبة pathlib
. دعونا نلقي نظرة على كيفية القيام بذلك.
إنشاء مجلد
لإنشاء مجلد جديد، يمكنك استخدام دالة mkdir()
المتاحة في كائن Path
:
# إنشاء مجلد جديد
folder_path.mkdir(parents=True, exist_ok=True)
في المثال أعلاه، parents=True
تعني أنه سيتم إنشاء أي مجلدات رئيسية مفقودة في المسار، وexist_ok=True
يعني أنه لن يتم إثارة استثناء إذا كان المجلد موجودًا بالفعل.
إنشاء ملف
لإنشاء ملف جديد، يمكنك ببساطة استخدام دالة touch()
:
# إنشاء ملف نصي جديد
file_path.touch(exist_ok=True)
كما هو الحال مع المجلدات، exist_ok=True
يمنع إثارة استثناء إذا كان الملف موجودًا بالفعل.
حذف الملفات والمجلدات
لإزالة الملفات والمجلدات، توفر مكتبة pathlib
طرقًا بسيطة وآمنة.
حذف ملف
لحذف ملف، يمكنك استخدام دالة unlink()
:
# حذف ملف
file_path.unlink()
تأكد من أن الملف موجود قبل محاولة حذفه، يمكنك استخدام exists()
للتحقق:
# التحقق من وجود الملف قبل حذفه
if file_path.exists():
file_path.unlink()
حذف مجلد
لحذف مجلد، يمكنك استخدام دالة rmdir()
:
# حذف مجلد فارغ
folder_path.rmdir()
لاحظ أن rmdir()
يعمل فقط على المجلدات الفارغة. إذا كان المجلد يحتوي على ملفات أو مجلدات فرعية، ستحتاج إلى استخدام أساليب أخرى مثل shutil.rmtree()
.
استعراض محتويات المجلدات
لرؤية محتويات مجلد معين، يمكنك استخدام دالة iterdir()
:
# استعراض محتويات مجلد
for item in folder_path.iterdir():
print(item)
سيتم عرض جميع الملفات والمجلدات الموجودة في المسار المحدد.
التحقق من نوع المسار
يمكنك بسهولة التحقق مما إذا كان كائن Path
يشير إلى ملف أو مجلد باستخدام دوال is_file()
وis_dir()
:
# التحقق مما إذا كان المسار ملفًا
if file_path.is_file():
print("هذا المسار يشير إلى ملف.")
# التحقق مما إذا كان المسار مجلدًا
if folder_path.is_dir():
print("هذا المسار يشير إلى مجلد.")
تساعدك هذه الدوال في التحقق من نوع المسار قبل تنفيذ أي عمليات عليه.
نسخ ونقل الملفات والمجلدات
على الرغم من أن مكتبة pathlib
لا تحتوي على دوال مدمجة لنسخ أو نقل الملفات، يمكنك دمجها مع مكتبة shutil
لتحقيق ذلك بسهولة.
نسخ ملف
لنسخ ملف من موقع إلى آخر، استخدم shutil.copy()
:
import shutil
# نسخ ملف إلى موقع جديد
shutil.copy(file_path, new_path)
نقل ملف
لنقل ملف، يمكنك استخدام shutil.move()
:
# نقل ملف إلى موقع جديد
shutil.move(file_path, new_path)
يمكنك استخدام هذه الدوال أيضًا لنقل ونسخ مجلدات كاملة.
التعامل مع المسارات المطلقة والنسبية
توفر مكتبة pathlib
دوالًا للتحويل بين المسارات المطلقة والنسبية.
تحويل مسار نسبي إلى مطلق
لتحويل مسار نسبي إلى مسار مطلق، استخدم دالة resolve()
:
# تحويل مسار نسبي إلى مطلق
absolute_path = file_path.resolve()
print(absolute_path)
تُرجع resolve()
المسار الكامل للملف أو المجلد.
الحصول على اسم الملف أو المجلد
يمكنك استخدام خاصية name
للحصول على اسم الملف أو المجلد من المسار:
# الحصول على اسم الملف
file_name = file_path.name
print(file_name)
إذا كان المسار يشير إلى مجلد، ستُرجع name
اسم المجلد الأخير في المسار.
قراءة وكتابة الملفات باستخدام pathlib
توفر مكتبة pathlib
واجهة سهلة لقراءة وكتابة الملفات.
قراءة ملف نصي
لقراءة محتوى ملف نصي، يمكنك استخدام دالة read_text()
:
# قراءة محتوى ملف نصي
content = file_path.read_text()
print(content)
كتابة نص إلى ملف
للكتابة إلى ملف نصي، يمكنك استخدام دالة write_text()
:
# كتابة نص إلى ملف
file_path.write_text("هذا نص جديد")
هذه الدالة تكتب النص المحدد إلى الملف، وإذا كان الملف موجودًا مسبقًا، سيتم استبدال محتواه.
الخاتمة
تعتبر مكتبة pathlib
من الأدوات القوية والبسيطة لإدارة الملفات والمسارات في Python. من خلال الواجهة الكائنية التي توفرها، يمكنك بسهولة تنفيذ العديد من المهام المتعلقة بالملفات والمجلدات، مثل الإنشاء، الحذف، النسخ، والنقل. نأمل أن يكون هذا المقال قد قدم لك فهمًا جيدًا لكيفية استخدام pathlib
في مشاريعك البرمجية.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية إجراء العمليات الحسابية المعقدة باستخدام مكتبة SymPy في Python
- كتابة سكربت لتحليل الروابط باستخدام مكتبة urllib في Python
- كيفية إنشاء تقارير Excel باستخدام مكتبة openpyxl في Python
- كيفية إنشاء تطبيقات سطح المكتب باستخدام PySide في Python
- كيفية استخدام مكتبة PIL لمعالجة الصور في Python
- كيفية بناء نموذج تصنيف باستخدام TensorFlow في Python
- كيفية التعامل مع ملفات XML باستخدام مكتبة xml.etree.ElementTree في Python
- كيفية تنفيذ التوازي باستخدام مكتبة multiprocessing في Python
- كيفية كتابة سكربت للتعامل مع API RESTful باستخدام مكتبة requests في Python
- كيفية استخدام مكتبة subprocess لتنفيذ أوامر النظام في Python