Python 3.2 ResourceWarning为未封闭的系统资源(网络套接字,文件)引入:
尽管代码在生产中运行干净,但由于使用了发生警告的第三方库,因此在运行单元测试时会收到很多关注警告.我可以修复库,但另一方面,在测试运行期间忽略它会简单得多.
block_io-python/block_io/__init__.py:182: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=AddressFamily.AF_INET, type=SocketType.SOCK_STREAM, proto=6, laddr=('x', 58395), raddr=('x, 443)>
Run Code Online (Sandbox Code Playgroud)
禁用这些警告的方法是什么?我尝试了以下但没有效果:
warnings.filterwarnings("ignore", category=ResourceWarning)
Run Code Online (Sandbox Code Playgroud)
(在单元测试导入时间内运行).
在使用Winsock通过套接字发送数据后,您应该关闭连接,如下所示:
closesocket(ConnectSocket);
WSACleanup();
Run Code Online (Sandbox Code Playgroud)
我正在编写一个通过套接字发送数据的API.如果我之后必须关闭套接字,我需要向API添加一个函数,以便用户可以说明他们何时完成数据获取.如果我不关闭插座,是否有问题?