次のコードでは、リモートサーバーへの接続は、が呼び出されるまで開いたままになっていますか、それともが呼び出されるclose()
たびに再作成さread()
れますか?read()
次のコードでは、呼び出されるとすぐにリモートファイルがバッファリングされるのではなく、呼び出されるたびに新しいネットワーク通信が発生することがわかりますurlopen()
。
import urllib2
handle = urllib2.urlopen('http://download.thinkbroadband.com/5MB.zip')
while True:
buff = handle.read(64*1024) # Is a new connection to the server created here?
if len(x) == 0:
break
handle.close()