Content-Length
の値をメタ変数から取得します。私はダウンロードしたいファイルのサイズを取得する必要があります。しかし最後の行はエラーを返します。HTTPMessage
オブジェクトには属性がありませんgetheaders
。pythonのファイルから "Content-Length"の値を取得します。3.2
import urllib.request
import http.client
#----HTTP HANDLING PART----
url = "http://client.akamai.com/install/test-objects/10MB.bin"
file_name = url.split('/')[-1]
d = urllib.request.urlopen(url)
f = open(file_name, 'wb')
#----GET FILE SIZE----
meta = d.info()
print ("Download Details", meta)
file_size = int(meta.getheaders("Content-Length")[0])
Googleの人々の利益のために、Python 3で 'file_size = int(d.getheader( 'Content-Length'))'を実行できるようになりました(3.4.1でテスト済み)。 'd.getheaders()'も追加されたようです。 – freshtop
@freshtop: 'd.getheader()'と 'd.getheaders()'はどちらもPython 3.2でも動作します。注意:OPはここで 'd'の代わりに' d.info() 'を使います。 'd.info().getheader()'と 'd.info()。getheaders()'はPython 2のコードです。 Python 2とPython 3の両方をサポートするには、 '' d.headers ['Content-Length'] 'を使うことができます。](http://stackoverflow.com/a/31576222)。 – jfs