chdir الداخلية تعيد دليل الخارجية رغم الخطأ في تجربتنا. [1] [2]
الخلاصة السريعة
إلى a أولًا، ثم start بعد الخارجية. [1] [2]
- chdir الداخلية تعيد دليل الخارجية رغم الخطأ في تجربتنا. [1] [2]
- على CPython 3.12.14، نفترض a,b,c,d كائنات Path لمسارات مطلقة مختلفة لأربعة مجلدات مؤقتة موجودة؛ start دليل البداية. [1] [2]
- داخل chdir(a)، نرفع RuntimeError داخل كتلة chdir(b)؛ تعمل except في a، وبعد الخارجية نعود إلى start. [1] [2]
- الدخول يحفظ دليل العمل؛ __exit__ تستعيده ولا تكتم خطأنا. [1] [2]
- تحكم: c ثم d بلا خطأ؛ نعود إلى c ثم start أيضًا. التغيير عالمي؛ تنفيذ متسلسل بلا خيوط أو yield. [1] [2]
الرجوع
chdir الداخلية تعيد دليل الخارجية رغم الخطأ في تجربتنا. [1] [2]
مسارات المثال
على CPython 3.12.14، نفترض a,b,c,d كائنات Path لمسارات مطلقة مختلفة لأربعة مجلدات مؤقتة موجودة؛ start دليل البداية. [1] [2]
التداخل
داخل chdir(a)، نرفع RuntimeError داخل كتلة chdir(b)؛ تعمل except في a، وبعد الخارجية نعود إلى start. [1] [2]
from contextlib import chdir from pathlib import Path start=Path.cwd() with chdir(a): try: with chdir(b):raise RuntimeError("own") except RuntimeError:print(Path.cwd()==a) print(Path.cwd()==start) [1] [2]

تحكم
الدخول يحفظ دليل العمل؛ __exit__ تستعيده ولا تكتم خطأنا. [1] [2]
with chdir(c): with chdir(d):pass print(Path.cwd()==c) print(Path.cwd()==start) [1] [2]
تحكم: c ثم d بلا خطأ؛ نعود إلى c ثم start أيضًا. التغيير عالمي؛ تنفيذ متسلسل بلا خيوط أو yield. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
