Adam Ebrahim نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 أحاول أن أقوم بتخزين مسار مجلد سطح المكتب في متغير path كالتالي: >>> x = 'C:\Users\name\Desktop' ولكن أحصل على الخطأ التالي: File "<stdin>", line 1 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape وعندما أحاول تخزين مسارات أخرى وطباعتها، يتم طباعتها في سطرين مختلفين كالتالي: >>> x = 'C:\Windows\System32\networklist' >>> print(x) C:\Windows\System32 etworklist >>> 1 اقتباس
1 Wael Aljamal نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 يعود السبب لوجود \ backslash وهو محرف تحكم. مثلا في الحالة الثانية لاحظ وجود n\ وهذا رمز تحكم لعمل سطر جديد. يمكن حل المشكلة بكتابة حرف r قبل السلسلة النصية التي تعبر عن المسار ليتم اعتبارها row string ولا يتم تفسير محتواها: >>> x = r'C:\Users\name\Desktop' ^^^ 1 اقتباس
1 سامح أشرف نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 يمكنك حل هذه المشكلة بأكثر من طريقة كالتالي: يمكنك إستعمال العلمة / بدلًا من العلامة \ وسيعمل كل شيء على ما يرام في Windows و Linux و MacOS، كالتالي: >>> x = 'C:/Users/name/Desktop' أو بإمكانك أن تستعمل علامة \\ (double backslash) كالتالي: >>> x = 'C:\\Users\\name\\Desktop' كذلك يمكنك أن تستخدم سلسلة حروف خام raw string literals من خلال إضافة حرف r قبل النص مباشرة كالتالي: >>> x = r'C:\Users\name\Desktop' ملاحظة: لا يمكن أن تنتهي raw string literals بعلامة \ حيث سيسبب هذا الأمر الخطأ التالي: SyntaxError: EOL while scanning string literal 1 اقتباس
السؤال
Adam Ebrahim
أحاول أن أقوم بتخزين مسار مجلد سطح المكتب في متغير path كالتالي:
ولكن أحصل على الخطأ التالي:
وعندما أحاول تخزين مسارات أخرى وطباعتها، يتم طباعتها في سطرين مختلفين كالتالي:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.