كيفية استخدام مأخذ التوصيل في Python كمدير السياق؟



0 Answers

وحدة المقبس عبارة عن مجمّع حول واجهة مأخذ توصيل BSD. إنها منخفضة المستوى ، ولا تحاول فعلاً توفير واجهة برمجة تطبيقات Pythonic سهلة الاستخدام أو سهلة الاستخدام. قد ترغب في استخدام شيء أعلى مستوى.

ومع ذلك ، فإنه في الواقع تنفيذ مدير السياق:

>>> with socket.socket() as s:
...   print(s)
... 
<socket.socket object, fd=3, family=2, type=1, proto=0>

لكنك تحتاج إلى استخدام Python 3.

لتوافق Python 2 يمكنك استخدام contextlib .

from contextlib import closing
import socket

with closing(socket.socket()) as s:
    print s
Question

يبدو أنه من الطبيعي أن نفعل شيئًا مثل:

with socket(socket.AF_INET, socket.SOCK_DGRAM) as s:

لكن Python لا تقوم بتطبيق مدير السياق للمقبس. هل يمكنني استخدامها بسهولة كمدير السياق ، وإذا كان الأمر كذلك ، كيف؟




Related