2

Python 文档是这样说的;

插座。makefile ([mode[, bufsize]])
返回与套接字关联的文件对象。(文件对象在文件对象中描述。)文件对象引用套接字文件描述符的 dup()ped 版本,因此文件对象和套接字对象可以独立关闭或垃圾收集。

这是否意味着我必须像这样关闭套接字和文件?

conn = socket.create_connection((addr,port))
myfile = conn.makefile()
myfile.close()
conn.close()

还是关闭一个就足够了?如果是这样,我关闭哪个和不关闭哪个重要吗?

4

1 回答 1

2

正如文档所说,两个对象都是独立的。仅当与其相关的所有文件描述符都关闭时,底层连接才会关闭。您必须关闭两者。使用该with语句来管理这些资源。

于 2012-08-30T19:16:38.777 回答