2012-04-06 18 views
1

私は、プロダクションで使用するカスタムHTTPクライアントをpython3.xで使用しています。 これでpython2.7と同じ機能が必要になりました。httplib.HTTPResponse.read()予期しないキーワード引数 'amt'

httplib.HTTPResponse 

httplib.HTTPResponse.read() 

は、長さのように、オプションのパラメータの下でAMTサポート

urllib2.urlopen(request, timeout=timeout) 

ので、それがタイプなのでレスポンスがで返され

data = response.read(amt = 10 *1024 *1024) 

は: 私は一つだけの文に問題がありますpython2.7。それでも私はエラーを取得していないのです。私が読んで名前を変更する場合

Traceback (most recent call last): 
    File "D:\eclipse_workspace\py27\wsdconfirmationserver.py", line 152, in <module> 
print(customHttpRequest(url="http://test.com/")) 
    File "D:\eclipse_workspace\py27\wsdconfirmationserver.py", line 109, in customHttpRequest 
    data = response.read(amt = 10 *1024 *1024)         
TypeError: read() got an unexpected keyword argument 'amt' 

は今funy事は(ある)httplib.HTTPResponseのソースに、この関数は任意の-以上に失敗んが、明らかに私はで他の問題の無数をご紹介しますコード。 なぜこれが起こるのかわかりません... Pythonのバグのようですが、おそらく私が理解できないものです。あなたの時間をありがとう!

+1

、全体のトレースバックを貼り付けてください。 –

+0

ありがとう、トレースバックの提案は実際に私のパズルメントを解決し、受け入れられた解決策のコメントを参照してください。 – sanyi

答えて

1

私はread()がkwargを取るとは思わない、ちょうど整数としてファイルサイズを渡してみてください。

data = response.read(10 *1024 *1024) 

http://docs.python.org/library/stdtypes.html#file.read

+0

正しいです、それは動作します、私は今すぐコールスタックで見ることができますresponse.readは直接httplib.HTTPResponse.read()([httplib.py:533]を読む) [socket.py:380])。これは私にはやや直観的でした。 – sanyi

関連する問題