GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing python.github.io — حالت توسعه پایتون حالت توسعه پایتون¶اضافه شده در نسخهی 3.7. حالت توسعه پایتون، بررسیهای رانتایم اضافیای را ارائه میدهد که فعال بودن آنها بهطور پیشفرض بیش از حد پرهزینه است. اگر کد صحیح باشد، نباید پرجزئیاتتر از حالت پیشفرض باشد؛ هشدارهای جدید تنها زمانی نشان داده میشوند که مشکلی شناسایی شود. میتوان آن را با استفاده از گزینهی خط فرمان همچنین ببینید ساخت اشکالزدایی پایتون. اثرات حالت توسعه پایتون¶فعالسازی حالت توسعه پایتون مشابه دستور زیر است، اما با اثرات اضافی که در زیر شرح داده شدهاند: PYTHONMALLOC=debug PYTHONASYNCIODEBUG=1 python -W default -X faulthandler تأثیرات حالت توسعه پایتون:
حالت توسعه پایتون بهطور پیشفرض ماژول حالت توسعه پایتون مانع از آن نمیشود که گزینه خط فرمان حالت توسعه پایتون را فقط میتوان در هنگام راهاندازی پایتون فعال کرد. مقدار آن را میتوان از تغییر یافته در نسخهی 3.8: تخریبکنندهی تغییر یافته در نسخهی 3.9: آرگومانهای encoding و errors اکنون برای عملیات کدگذاری و کدگشایی رشته بررسی میشوند. مثال ResourceWarning¶مثالی از یک اسکریپت برای شمارش تعداد سطرهای پرونده متنی مشخصشده در خط فرمان: import sys def main(): fp = open(sys.argv[1]) nlines = len(fp.readlines()) print(nlines) # The file is closed implicitly if __name__ == "__main__": main() اسکریپت پرونده را بهصراحت نمیبندد. بهطور پیشفرض، پایتون هیچ هشداری نشان نمیدهند. مثالی با استفاده از README.txt که ۲۶۹ خط دارد: $ python script.py README.txt 269 فعالسازی حالت توسعه پایتون یک هشدار $ python -X dev script.py README.txt 269 script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='README.rst' mode='r' encoding='UTF-8'> main() ResourceWarning: Enable tracemalloc to get the object allocation traceback علاوه بر این، فعالسازی $ python -X dev -X tracemalloc=5 script.py README.rst 269 script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='README.rst' mode='r' encoding='UTF-8'> main() Object allocated at (most recent call last): File "script.py", lineno 10 main() File "script.py", lineno 4 fp = open(sys.argv[1]) راهحل این است که پرونده را بهصورت صریح ببندید. مثال با استفاده از یک مدیر زمینه: def main(): # Close the file explicitly when exiting the with block with open(sys.argv[1]) as fp: nlines = len(fp.readlines()) print(nlines) نبستن یک منبع بهطور صریح میتواند باعث شود آن منبع بسیار بیشتر از حد انتظار باز بماند؛ این موضوع میتواند هنگام خروج از Python مشکلات شدیدی ایجاد کند. این موضوع در CPython بد است، اما در PyPy حتی بدتر است. بستن منابع بهطور صریح، یک برنامه را قطعیتر و قابلاعتمادتر میکند. مثال خطای توصیفگر پرونده نامعتبر¶اسکریپتی که خط نخست خود را نمایش میدهد: import os def main(): fp = open(__file__) firstline = fp.readline() print(firstline.rstrip()) os.close(fp.fileno()) # The file is closed implicitly main() بهطور پیشفرض، پایتون هیچ هشداری نشان نمیدهد: $ python script.py import os حالت توسعه پایتون هنگام نهاییسازی شیء پرونده، یک $ python -X dev script.py import os script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='script.py' mode='r' encoding='UTF-8'> main() ResourceWarning: Enable tracemalloc to get the object allocation traceback Exception ignored in: <_io.TextIOWrapper name='script.py' mode='r' encoding='UTF-8'> Traceback (most recent call last): File "script.py", line 10, in <module> main() OSError: [Errno 9] Bad file descriptor
راهحل، حذف خط
© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است. مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند. برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید. بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید. آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟ ساخته شده با Sphinx 9.1.0. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |