كيفية الحصول على دليل العمل الحالي في بايثون

How Get Current Working Directory Python



يمكن استخدام اسم الملف أو المجلد مع المسار الكامل أو مجرد ذكر اسم الملف أو المجلد فقط لاستخدامه في البرنامج النصي. يتم تحديد المسار الكامل لملف أو مجلد من الدليل الجذر بواسطة المسار المطلق. عند استخدام اسم الملف بدون اسم المسار في البرنامج النصي ، يُفترض أن دليل العمل الحالي هو اسم مسار الملف ويسمى المسار النسبي. في Python ، يتم تعيين دليل العمل الحالي على موقع الدليل حيث يتم تنفيذ برنامج Python النصي. توجد العديد من الوحدات النمطية في Python للحصول على دليل العمل الحالي. تم توضيح طرق استرداد دليل العمل الحالي باستخدام وحدات نمطية مختلفة في Python في هذا البرنامج التعليمي.

مثال 1: استخدام وحدة pathlib للحصول على دليل العمل الحالي

فئة مسار وحدة باثليب يستخدم لقراءة دليل العمل الحالي للبرنامج النصي المنفذ. قم بإنشاء برنامج نصي بلغة Python مع الكود التالي لقراءة وطباعة دليل العمل الحالي باستخدام وحدة pathlib. ال طريقة cwd () من فئة المسار لطباعة دليل العمل الحالي من حيث يتم تنفيذ البرنامج النصي.







# استيراد المسار من وحدة pathlib

من عندباثليبيستوردطريق

# استرداد مسار دليل العمل الحالي

دليل_العمل_الحالي=طريق.cwd()

# طباعة موقع دليل العمل الحالي

مطبعة('موقع دليل العمل الحالي هو:')

مطبعة(دليل_العمل_الحالي)

انتاج:

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه. هنا ، يظهر مسار دليل العمل الحالي بدون اسم البرنامج النصي في الإخراج.





مثال 2: استخدام normpath () و abspath () للحصول على دليل العمل الحالي

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





# استيراد وحدة نظام التشغيل

يستورد أنت

# اطبع دليل العمل الحالي باستخدام وظيفة normpath ()

مطبعة('دليل العمل الحالي (باستخدام normpath ()) هو:')

مطبعة(أنت.طريق.اسم الدليل(أنت.طريق.نورماث(__ملف__)))

# اطبع دليل العمل الحالي باستخدام وظيفة abspath ()

مطبعة('ندليل العمل الحالي (باستخدام abspath ()) هو: ')

مطبعة(أنت.طريق.أبسبات('.'))

انتاج:

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه. هنا ، يظهر مسار دليل العمل الحالي بدون اسم البرنامج النصي في الإخراج.



مثال 3: استخدام realpath () للحصول على دليل العمل الحالي

ال ريل باث () هي طريقة أخرى لاسترداد دليل العمل الحالي. قم بإنشاء ملف python باستخدام البرنامج النصي التالي لطباعة دليل العمل الحالي باسم البرنامج النصي باستخدام ملف طريقة () realpath . في البرنامج النصي ، يستغرق الأمر __ملف__ كقيمة وسيطة تحتوي على اسم مسار الملف الذي يتم فيه استيراد وحدة نظام التشغيل.

# استيراد وحدة نظام التشغيل

يستورد أنت

# اقرأ دليل العمل الحالي باستخدام وظيفة realpath ()

المسار الحقيقي= أنت.طريق.ريلباث(__ملف__)

# اطبع دليل العمل الحالي باسم البرنامج النصي

مطبعة('ندليل العمل الحالي باسم البرنامج النصي هو: ')

مطبعة(المسار الحقيقي)

انتاج:

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه. هنا ، يظهر مسار دليل العمل الحالي مع اسم البرنامج النصي في الإخراج.

مثال 4: استخدام getcwd () للحصول على دليل العمل الحالي

باستخدام دالة getcwd () الوحدة النمطية os هي أبسط طريقة لاسترداد دليل العمل الحالي للبرنامج النصي المنفذ. لا يحتوي على أي وسيطة ويعيد CWD كسلسلة. قم بإنشاء ملف python بالبرنامج النصي التالي للتحقق من استخدام ملف دالة getcwd () . تتم طباعة دليل العمل الحالي في بداية البرنامج النصي. بعد ذلك ، يتم تغيير مسار الدليل الحالي باستخدام ملف وظيفة chdir () . ال getcwd () يتم استدعاء مرة أخرى بعد تغيير الدليل.

# استيراد وحدة نظام التشغيل

يستورد أنت

# اطبع دليل العمل الحالي باستخدام وظيفة getcwd ()

مطبعة(دليل العمل الحالي هو:ن'و أنت.getcwd())

# تغيير دليل العمل الحالي

أنت.شدير('/ etc / mail')

# طباعة دليل العمل الحالي بعد التغيير

مطبعة('ندليل العمل الحالي بعد التغيير هو:ن'و أنت.getcwd())

انتاج:

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

مثال 5: استخدام getcwd () مع try-except للحصول على دليل العمل الحالي

قم بإنشاء ملف python باستخدام البرنامج النصي التالي لتغيير دليل العمل الحالي بناءً على قيمة الإدخال والتعامل مع أنواع مختلفة من الأخطاء. يمكن معالجة ثلاثة أنواع من الأخطاء عن طريق تنفيذ البرنامج النصي. ال خطأ FileNotFoundError سيتم إنشاؤه إذا كان المسار المأخوذ من الإدخال غير موجود. ال NotADirectory خطأ خطأ سيتم إنشاؤه إذا كان المسار المأخوذ من الإدخال ليس دليلاً. ال إذن خطأ خطأ سيتم إنشاؤه إذا كان المسار المأخوذ من الإدخال لا يمكن الوصول إليه.

# استيراد وحدة نظام التشغيل

يستورد أنت

# أدخل مسار الدليل

cwd= إدخال(أدخل مسار دليل العمل الحالي:ن')


محاولة:

# تغيير دليل العمل الحالي

أنت.شدير(cwd)

# اطبع دليل العمل الحالي باستخدام وظيفة getcwd ()

مطبعة(دليل العمل الحالي هو:ن'و أنت.getcwd())

# رفع الخطأ إذا كان الدليل غير موجود

إلاFileNotFoundError:

مطبعة('الدليل غير موجود'.)

# رفع الخطأ إذا كان مسار الإدخال ليس دليلاً

إلاNotADirectoryError: خطأ في الدليل:

مطبعة('٪ s ليس دليلاً'٪(cwd))

# رفع الخطأ إذا كان الدليل لا يمكن الوصول إليه

إلاخطأ إذن:

مطبعة('تم رفض الإذن بتغيير الدليل.')

انتاج:

سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه إذا كان المسار موجودًا. هنا ، يوجد مسار الإدخال المأخوذ ، وقد تمت طباعة دليل العمل الذي تم تغييره في الإخراج.


سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه إذا كان المسار غير موجود.


سيظهر الإخراج التالي بعد تنفيذ البرنامج النصي أعلاه إذا كان المسار المأخوذ لا يمكن الوصول إليه.

استنتاج:

يتم عرض استخدام وحدات pathlib و os لقراءة دليل العمل الحالي في هذا البرنامج التعليمي باستخدام أمثلة مختلفة. تم أيضًا عرض طريقة استرداد دليل العمل الحالي بعد تغيير دليل العمل الحالي بناءً على مدخلات المستخدم في هذا البرنامج التعليمي.