Python docs说出来了;
socket。 makefile ([mode [,bufsize]])
返回关联的文件对象 与插座。 (文件对象在文件对象中描述。) file对象引用套接字文件的dup()ped版本 描述符,因此文件对象和套接字对象可能会被关闭或 垃圾收集独立。
这是否意味着我必须像这样关闭套接字和文件?
conn = socket.create_connection((addr,port))
myfile = conn.makefile()
myfile.close()
conn.close()
或者关闭一个就足够了?如果是这样,我关闭哪一个以及哪一个我不关心?
答案 0 :(得分:2)
正如文档所说,两个对象都是独立的。仅当与之关联的所有文件描述符都已关闭时,才会关闭基础连接。你必须关闭它们。使用with
语句来管理此类资源。