كيفية تغيير دليل العمل في بايثون

How Change Working Directory Python



دليل العمل هو دليل حالي نعمل فيه ويتم تشغيل البرنامج النصي منه ؛ داخل هذا الدليل ، لدينا وصول إلى العديد من الملفات (الموجودة بداخله). ومع ذلك ، نحتاج في بعض الأحيان إلى تغيير الدلائل والانتقال ذهابًا وإيابًا بين الملفات والمجلدات. في هذا البرنامج التعليمي ، سوف نتعلم كيفية تغيير دليل العمل في Python.

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

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







الحصول على دليل العمل الحالي

للحصول على دليل العمل الحالي ، نستخدم ملف طريقة getcwd () من وحدة نظام التشغيل. يرجى ملاحظة هنا أنه لم يتم تمرير أي حجة. في حالتي ، كان الإخراج / home / kalyani / PycharmProjects / pythonProject1 على جهاز Ubuntu (تشغيل PyCharm). هذا يعني أن البرنامج النصي الرئيسي - main.py - موجود داخل هذا المجلد (pythonProject1). وتذكر ، دليل العمل ، أولاً وقبل كل شيء مجلد!



يستورد أنت

# احصل على دليل العمل الحالي

الدليل الحالي= أنت.getcwd()

مطبعة('دليل العمل الحالي الخاص بك هو٪ s'٪ الدليل الحالي)



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

يعد تغيير دليل العمل أمرًا سهلاً باستخدام طريقة chdir () ، والتي تأخذ وسيطة واحدة بالضبط - المسار إلى الموقع الجديد كسلسلة.





يستورد أنت

# احصل على دليل العمل الحالي

الدليل الحالي= أنت.getcwd()

مطبعة('دليل العمل الحالي الخاص بك هو٪ s'٪ الدليل الحالي)

أول شيء يجب القيام به هو تعيين المسار الجديد إلى دليل العمل. على Ubuntu ، هذا واضح جدًا!

# لنقم بتعيين دليل عمل جديد

دليل_العمل_الجديد= '/ home / kalyani / Desktop / PythonDirectory'

في Windows ، تحتاج إلى استخدام خطوط مائلة عكسية مزدوجة لتحديد الدليل.



#new_working_directory = 'C: \ Users \ never \ Desktop \ PythonDirectory'

بعد ذلك ، نحدد بند try-except. إذا كان المسار موجودًا ، فسنستخدم طريقة chdir () لتغيير دليل العمل إلى دليل عمل جديد. إذا لم يكن المسار دليلاً ، فسيؤدي ذلك إلى حدوث خطأ!

محاولة:

أنت.شدير(دليل_العمل_الجديد)

مطبعة('تم تغيير دليل العمل!')

مطبعة('WD:٪ s'٪أنت.getcwd())


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

مطبعة('لم تقم باختيار دليل.')


إلاFileNotFoundError:

مطبعة(لم يتم العثور على المجلد. المسار غير صحيح.)


إلاخطأ إذن:

مطبعة('ليس لديك حق الوصول إلى هذا المجلد / الملف.')

سيبدو الرمز الكامل كما يلي:

يستورد أنت

# احصل على دليل العمل الحالي

الدليل الحالي= أنت.getcwd()

مطبعة('دليل العمل الحالي الخاص بك هو٪ s'٪ الدليل الحالي)

# لنقم بتعيين دليل عمل جديد

#new_working_directory = '/ home / kalyani / Desktop / PythonDirectory'

دليل_العمل_الجديد=صج: يوتخدمنأبدادسطح المكتب صدليل ython '

محاولة:

أنت.شدير(دليل_العمل_الجديد)

مطبعة('تم تغيير دليل العمل!')

مطبعة('WD:٪ s'٪أنت.getcwd())


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

مطبعة('لم تقم باختيار دليل.')


إلاFileNotFoundError:

مطبعة(لم يتم العثور على المجلد. المسار غير صحيح.)


إلاخطأ إذن:

مطبعة('ليس لديك حق الوصول إلى هذا المجلد / الملف.')

في الواقع ، قد تثير الأخطاء أنواعًا مختلفة من الاستثناءات:

أنا. NotADirectoryError: خطأ في الدليل:

افترض الآن على سبيل المثال أنني كتبت الكود التالي للمسار أو دليل العمل الجديد:

دليل_العمل_الجديد= ج:\المستخدمون\أبدا\سطح المكتب\دليل بايثون\text.txt '

ما يمكنك ملاحظته هنا هو أنني أشير إلى المسار إلى مستند نصي يسمى text.txt. وسيؤدي الأخير إلى ظهور خطأ يُعرف باسم NotADirectoryError. بمعنى آخر ، يجب أن يشير مسارك إلى دليل من نوع ما.

ثانيا. FileNotFoundError:

يتم طرح FileNotFoundError عندما لا يكون المسار موجودًا. لذا ، افترض في الوقت الحالي أنه ليس لدي دليل باسم PythonDirectory على سطح المكتب وأنني قمت بتعيين المسار على:

دليل_العمل_الجديد= ج: يوتخدمنأبدادسطح المكتب صدليل ython '

سوف يرمي FileNotFoundError . يعني هذا الخطأ ببساطة أن الدليل الذي نشير إليه غير موجود أو لم يتم العثور عليه.

ثالثا. خطأ إذن:

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

رابعا. خطأ في بناء الجملة:

يحدث خطأ في بناء الجملة عندما يكون هناك خطأ في بناء الجملة في المسار. على Windows ، إذا كتبنا لنقول:

دليل_العمل_الجديد= ج: يوتخدمنأبدادسطح المكتب صدليل ython '

تم طرح خطأ synthax! ومع ذلك ، يصعب اكتشاف الخطأ النحوي لأنه يحتاج إلى التقييم أو الاستيراد أو التنفيذ. على هذا النحو ، عندما نكتب قوالب try-except ، يكون من الصعب اكتشاف مثل هذا الخطأ.

على نظام Windows ، لتجنب أي أخطاء ، يمكن كتابة المسار بإحدى الطرق الثلاث المختلفة بحيث لا يتم إلقاء أي أخطاء:

الطريقة الأولى: في هذه الطريقة ، نضيف r قبل تحديد السلسلة.

دليل_العمل_الجديد=صج: يوتخدمنأبدادسطح المكتب صدليل ython '

الطريقة الثانية: نستخدم خطوط مائلة عكسية مزدوجة.

دليل_العمل_الجديد= ج:\المستخدمون\أبدا\سطح المكتب\دليل Python

الطريقة الثالثة: نستخدم شرطة أمامية واحدة.

دليل_العمل_الجديد= 'C: / Users / never / Desktop / PythonDirectory'

وحدة المسار

يمكننا أيضًا تغيير دليل العمل باستخدام وحدة المسار. أولاً ، ثبّت المسار على النحو التالي (لقد أعطيت أيضًا رابط الوحدة):

مسار تثبيت النقطة

(https: // pypi.غزاله/ مشروع / مسار /)

بعد ذلك نكتب:

من عندطريقيستوردطريق

يستورد أنت

أولاً ، دعنا نتحقق من دليل العمل الحالي باستخدام وحدة نظام التشغيل وطريقة getcwd ().

# دعنا نتحقق من دليل العمل الحالي

cwd= أنت.getcwd()

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

مطبعة('---------------------------------------------')

بعد ذلك ، قم بتعيين المسار إلى دليل العمل الجديد. في هذه الحالة ، اخترت تعيين المثال على جهاز يعمل بنظام Windows:

# تعيين المسار إلى دليل العمل الجديد

new_path= ج:\المستخدمون\أبدا\سطح المكتب\دليل Python

استخدم Path () لتغيير دليل العمل. يأخذ المسار () وسيطة واحدة فقط هنا: المسار الفعلي إلى دليل العمل الجديد ويستخدم طريقة chdir () لإنجاز المهمة.

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

طريق(new_path).شدير()

أعد التحقق مما إذا تم تغيير دليل العمل. وهنا ، كما ترى في الصورة ، تم بالفعل تغيير دليل العمل!

# أعد التحقق من دليل العمل

# هل تم تغييره؟

cwd= أنت.getcwd()

مطبعة('دليل العمل الجديد هو٪ s'٪ cwd)

يعد تغيير أدلة العمل مهمة سهلة ولا يتطلب سوى طريقة واحدة - طريقة chdir (المسار). ومع ذلك ، بناءً على ما إذا كنت تستخدم جهاز Windows أو جهاز Linux ، يجب أن تكون حذرًا بشأن كيفية إدخال المسار كسلسلة. إذا تم إدخاله بشكل غير صحيح ، فقد يؤدي إلى حدوث خطأ!

ترميز سعيد!