بیاموزید که کدام ماژول های کتابخانه استاندارد پایتون به سمت boneyard در پایتون ۳.۱۳ هدایت می شوند و چگونه آنها را جایگزین کنید.
بیش از ۳۰ سال است که پایتون به این شکل وجود داشته است. در طی آن زمان، مجموعه گسترده و قدرتمندی از ماژول ها را در کتابخانه استاندارد خود جمع آوری کرده است. این ماژول ها به توسعه دهندگان کمک می کنند تا با بسیاری از کارهای رایج شروع کنند. طرفداران Python این زبان را بخش “باتری شامل” مینامند.
اما در طول سالها، برخی از این باتریها از بین رفتهاند – به این معنی که تعمیر و نگهداری از بین رفتهاند یا برای فناوریهایی که اکنون منسوخ شدهاند استفاده میشوند. برخی از این “باتریهای مرده” در Python 3.12 منسوخ شدهاند، و به طور کامل در Python 3.13 حذف خواهند شد.
PEP 594 این موارد منسوخ شده را با جزئیات شرح می دهد، اما دانستن آن در یک نگاهی بیندازید که کدام یک بیشتر اهمیت دارند.
بنابراین، در اینجا خلاصهای از ماژولهای کتابخانه استاندارد که در پایتون ۳.۱۳ حذف شدهاند، به ترتیب نزولی، شامل کارهایی که هر کدام انجام میدهند و ماژول جدیدی (در صورت وجود) جایگزین آن شده است، آورده شده است.
ماژولهای پایتون منسوخ شده که ممکن است همچنان از آنها استفاده کنید
در اینجا مهمترین ماژولهای کتابخانه استاندارد منسوخ شده هستند. اینها مواردی هستند که به احتمال زیاد هنوز در برنامه های موجود استفاده می کنید.
cgi, cgitb
استاندارد CGI برای برنامههای کاربردی وب مدتهاست که منسوخ شده است، اما پشتیبانی از آن در پایتون به دو دلیل باقی مانده است: بسیاری از چارچوبهای برنامه کاربردی وب که هنوز از CGI پشتیبانی میکنند و اجزای درون cgi
و < code>cgitb که هنوز در جاهای دیگر استفاده می شوند.
در اینجا ویژگیها یا مؤلفههای cgi
وجود دارد که ممکن است از آنها استفاده کنید، حتی اگر متوجه نباشید، و چه کاری میتوانید برای جایگزینی آنها انجام دهید، طبق PEP 594:
cgi.parse
: جایگزین urllib.parse.parse_qscgi.parse_header
: جایگزین email.message.EmailMessagecgi.parse_multipart
: با email.message.EmailMessage
بهعلاوه، اگر از درخواستهای POST
و PUT
در بارهای بالقوه بزرگ استفاده میکنید، ممکن است لازم باشد cgi.FieldStorage
را با یک ماژول شخص ثالث مانند چند بخشی. برای بارهای کوچکتر، عناصر تجزیه کننده پیوست در email.message ممکن است کافی باشد.
برای درخواستهای GET
و HEAD
، میتوانید از urllib.parse.parse_qsl.
smtpd، telnetlib، nntplib
این ماژولها برای کار با ایمیل، اخبار و پروتکلهای اتصال شبکه هستند. در همه موارد، ماژولهای دیگر جایگزین آنها میشوند:
smtpd
، برای کار با پروتکل ایمیل SMTP، میتواند با aiosmtpd< جایگزین شود. /a>، که دارای مزیت اضافی عدم همگام بودن است.nntp
، برای کار با پروتکل خبری USENET، میتواند با pynntp< جایگزین شود. /a>.telnetlib
، برای کار با پروتکل اتصال Telnet، می تواند با telnetlib3< جایگزین شود. /a>، که دارای مزایای استفاده از سرویس گیرنده سطح بالاتر و سازگاری با asyncio است.
msilib
msilib
فقط در Microsoft Windows موجود است و برای ایجاد بستههای Microsoft Installer (MSI) است. distutils
که اکنون نیز منسوخ شده است، از این ماژول برای ایجاد نصب کننده های MSI استفاده می کند. توسعهدهندگان اصلی پایتون، بار نگهداری msilib
(با تعداد نسبتاً کمی کاربران واقعی) را دلیل بزرگی برای حذف آن ذکر کردهاند.
لوله ها
pipes
برخی از عملکردهای os.popen
را مجدداً بسته بندی می کند تا ورودی را از یک دستور به خروجی فرمان دیگر هدایت کند. فرایند فرعی در کتابخانه استاندارد راهی برای رسیدگی به چنین مواردی در حال حاضر است.
ماژول های منسوخ بیشتر پایتون
این ماژولها در برنامههایی که مینویسید یا نگهداری میکنید کمتر مورد استفاده قرار میگیرند، اما بهتر است بدانید که منسوخ شدهاند.
asynchat/asyncore
: برای عملیات شبکه ناهمگام. از پایتون ۳.۶ باasyncio
جایگزین شده است.imghdr/sndhdr
: برای حدسهای آموزشی درباره محتوای فایلهای تصویری یا صوتی بر اساس سرصفحههای آنها استفاده میشود. جایگزین کتابخانه های شخص ثالث مانندPillow
(برای تصاویر) یا python-magic a> (برای انواع فایل ها).uu
: برای رمزگذاری و رمزگشایی داده ها با استفاده از پروتکلuuecode
. از زمان ایجاد فرمت MIME منسوخ شده است. اگر به هر دلیلی همچنان به کدکuu
نیاز دارید، ماژولbinascii
درstdlib
از آن پشتیبانی میکند.mailcap
: برای خواندن فایلهای ظرفیت نامه، به عنوان راهی برای کار با پیوستهای ایمیل استفاده میشود. برنامه ها دیگر به ندرت نیاز به انجام این کار به تنهایی دارند.crypt
: برای کار با توابعlibcrypt
به سبک یونیکس، که مدتهاست منسوخ و ناامن تلقی می شدند.nis
: برای کار با پروتکل منسوخ خدمات اطلاعات شبکه که با LDAP و سایر پروتکلهای مشابه جایگزین شده است.spwd
: برای دسترسی به پایگاه داده رمز عبور سایه یونیکس. این یک خطر امنیتی در نظر گرفته می شود و استفاده از آن دیگر تشویق نمی شود.xdrlib
: برای کار با استاندارد نمایش دادههای خارجی Sun، یک قالب سریالسازی باینری که دیگر استفاده نمیشود.chunk
: برای خواندن و نوشتن فرمت فایل Interchange که در رایانههای شخصی قدیمیتر مانند Commodore و Amiga استفاده میشود.sunau
: برای کار با فرمت صوتی قدیمی Sun AU.ossaudiodev
: پشتیبانی از استاندارد رابط صوتی Open Sound System کم استفاده.
پست های مرتبط
آنچه باید در مورد باتری های مرده پایتون بدانید
آنچه باید در مورد باتری های مرده پایتون بدانید
آنچه باید در مورد باتری های مرده پایتون بدانید