اهلا ومرحبا بكم في مدونه : Cyber1101 انظم للمجتمع

OS Python مكتبة التعامل مع النظام

 




مكتبة os في بايثون


يتضمن بايثون مكتبة os.المسؤولة عن التفاعل مع نظام التشغيل. يمكن استخدامها لإجراء العديد من المهام المختلفة، بما في ذلك إنشاء وحذف الملفات والمجلدات، وتغيير دليل العمل الحالي، والتعامل مع الطرق النسبية والمطابقة التامة للأسماء، والتعرف على خصائص الملفات مثل الحجم والتاريخ، وغيرها.


يمكن الوصول إلى مختلف الوظائف المتاحة في مكتبة os باستخدام التعليمات البرمجية المختلفة. على سبيل المثال، يمكن استخدام التعليمة البرمجية os.getcwd() للحصول على المسار الحالي لدليل العمل. كما يمكن استخدام التعليمة البرمجية os.listdir() للحصول على قائمة بجميع الملفات والمجلدات في دليل محدد.


هذه بعض الأمثلة التوضيحية:


import os
# عرض المسار الحالي
current_dir = os.getcwd()
print(current_dir)
# إنشاء مجلد جديد
os.mkdir('/path/to/new/folder')
# حذف ملف
os.remove('/path/to/file.txt')
# قائمة بكل الملفات والمجلدات في دليل محدد
file_list = os.listdir('/path/to/directory')
print(file_list)



تتيح مكتبة os لمطوري بايثون التعامل بسهولة مع نظام التشغيل، وتسهل الكثير من المهام المختلفة المتعلقة بإدارة الملفات والمجلدات.



دوال مكتبة os في بايثون


مكتبة os في Python توفر عددًا من الدوال المفيدة للتعامل مع نظام التشغيل والملفات، ومن بين هذه الدوال:


os.getcwd()

 تستخدم للحصول على مسار الدليل الحالي.



os.chdir(path)

 تستخدم لتغيير المسار الحالي إلى المسار الذي يتم تمريره كمعامل.



os.listdir(path='.')

 تستخدم للحصول على قائمة بجميع الملفات والأدلة الموجودة في المسار المحدد.



os.mkdir(path, mode=0o777, *, dir_fd=None)

 تستخدم لإنشاء دليل جديد في المسار المحدد.



os.makedirs(name, mode=0o777, exist_ok=False)

تستخدم لإنشاء دليل جديد بما في ذلك أي دلائل أخرى ضرورية للوصول إليه.



os.remove(path, *, dir_fd=None)

 تستخدم لحذف الملف المحدد.



os.rmdir(path, *, dir_fd=None)

 تستخدم لحذف الدليل المحدد.



os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)

تستخدم لإعادة تسمية الملف أو الدليل المحدد.



os.path.join(path, *paths)

 تستخدم للتحقق من وجود مسار صحيح لنظام التشغيل، حيث يتم دمج جزء من المسارات للوصول إلى المسار الكامل.



os.path.isfile(path)

 تستخدم للتحقق مما إذا كان المسار المحدد يشير إلى ملف أم لا.



os.path.isdir(path)

 تستخدم للتحقق مما إذا كان المسار المحدد يشير إلى دليل أم لا.



os.path.exists(path)

تستخدم للتحقق مما إذا كان المسار المحدد موجودًا أم لا.

os.getcwd() 


دالة os.getcwd() هي دالة في لغة Python تستخدم للحصول على مسار (path) الحالي للدليل العامل (working directory). يجب أن تقوم بإضافة


import os

في بداية برنامج Python الخاص بك قبل استخدام هذه الدالة.

فيما يلي مثال يوضح استخدام دالة os.getcwd() :



import os
# Get the current working directory
current_directory = os.getcwd()
print("The current working directory is:")
print(current_directory)



ستطبع الشفرة الناتجة:

The current working directory is:
C:\Users\MyUsername\MyProjectFolder



يعتمد المسار الناتج على نظام التشغيل الخاص بك ومكان حفظ برنامج Python الخاص بك.

os.chdir()


os.chdir() هي دالة في لغة البرمجة بايثون يتم استخدامها لتغيير دليل العمل الحالي (current working directory) إلى المسار (path) المحدد.


في حالة استدعاء هذه الدالة، سيتم تغيير مكان عمل البرنامج الحالي إلى المسار المحدد في الوظيفة chdir() ومن ثم فإن جميع العمليات التي تستخدم المسار الحالي ستتأثر بهذا التغيير. 


على سبيل المثال، إذا كنت تستخدم open() لفتح ملف، فإنه سيتم البحث عن الملف في المسار المحدد بعد تنفيذ الدالة chdir() ، وليس في المسار الذي كنت فيه قبل تنفيذ الدالة chdir() .


os.listdir()


دالة os.listdir() في بايثون تقوم بإرجاع قائمة بأسماء الملفات والمجلدات الموجودة في المسار الذي يتم تمريره كمعامل. إذا لم يتم تمرير أي مسار، فستعيد الدالة قائمة بأسماء الملفات والمجلدات في المجلد الحالي. ويمكن استخدام هذه الدالة لعرض جميع الملفات والمجلدات الموجودة في المجلد الحالي، مثلاً:



import os
files = os.listdir()
for file in files:
    print(file)



ستقوم هذه الشفرة بطباعة اسم كل ملف أو مجلد في المجلد الحالي على سبيل المثال.

os.mkdir()


دالة os.mkdir() في بايثون تستخدم لإنشاء دليل جديد. وهي تستقبل مسار الدليل كواحد من مدخلاتها.


فيما يلي مثال بسيط على استخدام os.mkdir() :



import os
# اسم الدليل الذي سيتم إنشاؤه
directory_name = "new_directory"
# مسار الدليل الذي سيتم إنشاؤه
path = "/home/user/Desktop/" + directory_name
# إنشاء الدليل باستخدام os.mkdir()
os.mkdir(path)



في المثال أعلاه، تم إنشاء متغير directory_name لتحديد اسم الدليل الذي سيتم إنشاؤه، ثم تم تعريف path باستخدام قيمة directory_name ومسار المجلد الرئيسي الذي يمكن تغييره حسب نظام التشغيل الذي تستخدمه. أخيراً، تم استخدام os.mkdir() لإنشاء الدليل الجديد.


os.remove()


os.remove() هي وظيفة مدمجة في لغة Python تستخدم لحذف ملف من النظام. يتم استخدام هذه الوظيفة بشكل أساسي لحذف الملفات غير المرغوب فيها أو القديمة التي لم يعد لها استخدام.


لاستخدام هذه الوظيفة، يتم تمرير مسار الملف كمعامل إلى الوظيفة. على سبيل المثال، إذا كان لديك ملف يسمى "file.txt" ويريد حذفه، يمكنك استخدام


os.remove("file.txt")



ملاحظة: يجب أن تكون حذف الملفات متأكدًا من عملية الحذف قبل استخدام هذه الوظيفة، لأن الحذف قد يكون نهائيًا ولا يمكن استعادة الملف بعد حذفه.


os.makedirs()


os.makedirs() هو وظيفة في لغة بايثون تستخدم لإنشاء مجلدات جديدة. إذا كان المسار الذي تم تمريره إلى الدالة غير موجود، فسيتم إنشاء المجلدات التي يحتوي عليها المسار. وإذا تم تمرير exist_ok=True كمعامل اختياري، فلن يتم رفع استثناء عندما يكون المجلد موجودًا بالفعل.


الاستخدام الأساسي لـ os.makedirs() هو كالتالي:



import os
path = "/my/new/directory"
try:
    os.makedirs(path)
except OSError:
    print(f"Creation of the directory {path} failed")
else:
    print(f"Successfully created the directory {path}")



في هذا المثال، سيتم إنشاء مجلد جديد يسمى "directory" داخل المجلد الفرعي "new" داخل المجلد الرئيسي "my". إذا كان أي من هذه المجلدات غير موجود، فسيتم إنشاؤه. يمكن تغيير المسار إلى أي شيء آخر حسب الحاجة.

os.rmdir() 


دالة os.rmdir() في لغة بايثون تستخدم لحذف مجلد فارغ. إذا كان المجلد غير فارغ، سترمي os.rmdir() استثناء OSError.


فيما يلي مثال على استخدام دالة os.rmdir() :



import os
# اسم المجلد الذي نود حذفه
folder_name = "example_folder"
try:
    # حذف المجلد
    os.rmdir(folder_name)
    print("تم حذف المجلد بنجاح")
except OSError as e:
    print(f"حدث خطأ أثناء حذف المجلد: {e}")



تأكد من توفر الصلاحيات الكافية لحذف المجلد.

os.rename() 


دالة os.rename() في بايثون تستخدم لإعادة تسمية ملف أو إعادة تحديد مسار (path) الملف.


هذه هي الصيغة العامة لاستخدام os.rename() :



import os
os.rename(current_path, new_path)



  • - current_path هي مسار الملف الحالي.
  • - new_path هي المسار الجديد الذي سيتم تحديده للملف.


إليك مثال على كيفية استخدام os.rename() لإعادة تسمية ملف:



import os
os.rename('old_file.txt', 'new_file.txt')



في هذا المثال، تم إعادة تسمية الملف القديم old_file.txt إلى new_file.txt .


os.path.join() 


دالة os.path.join() في بايثون تستخدم للانضمام إلى مسارات (paths) متعددة في نظام الملفات. يمكن استخدامها لإنشاء مسار كامل من الأجزاء المتعددة.


في حالة مسارات الملفات، فإنه يمكن استخدام الدالة os.path.join() للانضمام إلى أسماء الملفات والمجلدات في النظام. على سبيل المثال، إذا كان لديك مجلد يسمى "documents" وداخله مجلد يسمى "files" وداخله ملف يسمى "example.txt"، يمكنك استخدام os.path.join() للحصول على المسار الكامل للملف:



import os
folder = "documents"
subfolder = "files"
file = "example.txt"
full_path = os.path.join(folder, subfolder, file)
print(full_path)
# Output: documents/files/example.txt



تلاحظ أنه يتم تمرير جميع الأجزاء التي تريد تضمينها في المسار إلى دالة os.path.join() كمجموعة واحدة من المعاملات. ستقوم الدالة بتجميع هذه الأجزاء إلى مسار كامل يمكن استخدامه لإنشاء والوصول إلى الملفات.


os.path.isfile()


دالة os.path.isfile() في بايثون تستخدم للتحقق مما إذا كان المسار الممرر إليها يشير إلى ملف أم لا. تأخذ هذه الدالة مسارًا كوسيط وتعيد True إذا كان هذا المسار يشير إلى ملف و False إذا كان يشير إلى دليل آخر أو مسار غير صحيح.


على سبيل المثال، إذا كان الملف الذي نريد التحقق من وجوده يقع في المسار "/path/to/file"، يمكن استخدام os.path.isfile() كالتالي:



import os
if os.path.isfile('/path/to/file'):
    print('File exists')
else:
    print('File does not exist')



في هذا المثال، سيتم التحقق من وجود الملف "/path/to/file" في النظام، وإذا وُجِدَ، سيتم إجراء الإجراء المحدد في الشرط الأولي ( print('File exists') ) وإذا لم يتم العثور على الملف، سيتم إجراء الإجراء المحدد في الشرط الثاني ( print('File does not exist') ).



os.path.isdir()


دالة os.path.isdir() في لغة بايثون تستخدم للتحقق مما إذا كان المسار الذي يتم تمريره كوسيط هو دليل (directory) أم لا. 


إذا كان المسار يشير إلى دليل فسيعيد الدالة True، وإلا ستعيد False.

على سبيل المثال، يمكن استخدام الدالة لفحص ما إذا كان المسار /home/user/Documents يشير إلى دليل أم لا. يمكن استخدام الدالة على النحو التالي:



import os
path = '/home/user/Documents'
if os.path.isdir(path):
    print('The path is a directory')
else:
    print('The path is not a directory')



إذا كان المسار /home/user/Documents يشير إلى دليل فسيتم طباعة "The path is a directory"، وإلا فسيتم طباعة "The path is not a directory".


os.path.exists() 


دالة os.path.exists() في بايثون تستخدم للتحقق مما إذا كان مسار معين موجودًا في النظام الحالي أم لا، حيث يتم تمرير المسار كمدخل لها. وإذا كان المسار موجودًا، فإن الدالة ترجع قيمة True، وإذا كان غير موجود فإنها ترجع False.

فيما يلي مثال بسيط يستخدم دالة os.path.exists() للتحقق من وجود ملف في النظام:


import os
if os.path.exists('/path/to/file'):
    print('File exists')
else:
    print('File does not exist')



في هذا المثال، سيتم استيراد وحدة os، ومن خلال استخدام الدالة os.path.exists() وتمرير المسار '/path/to/file' كمدخل، يتم التحقق من وجود الملف في النظام. إذا كان الملف موجودًا، فإن البرنامج سيقوم بطباعة "File exists"، وإلا فسيقوم بطباعة "File does not exist".

الفائدة من مكتبة os 


مكتبة os في لغة البرمجة بايثون تساعد المطورين على التفاعل مع نظام التشغيل (Operating System) الخاص بالحاسوب. وتقدم هذه المكتبة العديد من الوظائف المفيدة، ومن بينها:

  •  إدارة الملفات: يمكن استخدام os لإنشاء ، حذف ، تحرير أو نسخ الملفات.

  • الوصول إلى المجلدات: يمكن استخدام os للوصول إلى المجلدات وقراءة محتوياتها أو تغيير الأذونات الخاصة بها.

  • التفاعل مع العمليات: يمكن استخدام os لإطلاق عمليات خارجية ومتابعة تقدمها.

  •  الوصول إلى المتغيرات البيئية: يمكن استخدام os للوصول إلى المتغيرات البيئية ​​مثل PATH و USERNAME.

  • التعامل مع المسارات: يمكن استخدام os لبناء مسارات الملفات والمجلدات وتحويلها بين الأشكال المختلفة.

بشكل عام ، تساعد مكتبة os المطورين على إجراء العديد من العمليات المتعلقة بإدارة الملفات والمجلدات والعمليات في نظام التشغيل.

إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.