الفرق بين المراجعتين لصفحة: «Python/Examples»
< Python
أنشأ الصفحة ب'هذه الصفحة هي تجميع منظم ومرتب لأمثلة بلغة بايثون == الاستثناءات == تحتوي هذه الفقرة على أمثلة...' |
|||
سطر 14: | سطر 14: | ||
open('C:\\file.txt','w') | open('C:\\file.txt','w') | ||
PermissionError: [Errno 13] Permission denied: 'C:\\file.txt' | PermissionError: [Errno 13] Permission denied: 'C:\\file.txt' | ||
</syntaxhighlight> | |||
=== الاستثناء <code>UnicodeDecodeError</code> === | |||
تحدث عند وجود كتابة بلغة غير الإنكليزية (باستخدام ترميز Unicode) وذلك عندما تستخدم تابع يتوقع قراءة ملفات بالإنكليزية حصرًا (أو بترميز <code>utf-8</code>) | |||
في المثال التالي، فإن توابع الوحدة <code>linecache</code> مصممة لقراءة الملفات المصدرية لوحدات بايثون، وهي ملفات بالإنكليزية حصرًا.<syntaxhighlight lang="python3"> | |||
>>> linecache.getline('D:\\file.txt',1) | |||
Traceback (most recent call last): | |||
File "<pyshell#116>", line 1, in <module> | |||
linecache.getline('D:\\file.txt',1) | |||
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 16, in getline | |||
lines = getlines(filename, module_globals) | |||
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 47, in getlines | |||
return updatecache(filename, module_globals) | |||
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 137, in updatecache | |||
lines = fp.readlines() | |||
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\codecs.py", line 321, in decode | |||
(result, consumed) = self._buffer_decode(data, self.errors, final) | |||
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 28: invalid continuation byte | |||
</syntaxhighlight> | </syntaxhighlight> |
مراجعة 18:15، 23 أغسطس 2018
هذه الصفحة هي تجميع منظم ومرتب لأمثلة بلغة بايثون
الاستثناءات
تحتوي هذه الفقرة على أمثلة يصدر فيها استثناءات.
الاستثناء PermissionError
يتم رميه عند محاولة الوصول إلى ملف، أو إنشاء ملف أو حذف ملف، دون أن يكون لمفسر بايثون الصلاحيات بالقيام بذلك
>>> open('C:\\file.txt','w')
Traceback (most recent call last):
File "<pyshell#105>", line 1, in <module>
open('C:\\file.txt','w')
PermissionError: [Errno 13] Permission denied: 'C:\\file.txt'
الاستثناء UnicodeDecodeError
تحدث عند وجود كتابة بلغة غير الإنكليزية (باستخدام ترميز Unicode) وذلك عندما تستخدم تابع يتوقع قراءة ملفات بالإنكليزية حصرًا (أو بترميز utf-8
)
في المثال التالي، فإن توابع الوحدة linecache
مصممة لقراءة الملفات المصدرية لوحدات بايثون، وهي ملفات بالإنكليزية حصرًا.
>>> linecache.getline('D:\\file.txt',1)
Traceback (most recent call last):
File "<pyshell#116>", line 1, in <module>
linecache.getline('D:\\file.txt',1)
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\linecache.py", line 137, in updatecache
lines = fp.readlines()
File "D:\Downloads\WinPython\python-3.6.5.amd64\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 28: invalid continuation byte