0

それを使用する別のファイルで取得するエラーコードは次のとおりです。

Traceback (most recent call last):
  File "C:\Anaconda\lib\site-packages\pyahoolib-0.2-py2.7.egg\yahoo\session.py", line 107, in listener
    t.send_pk(consts.SERVICE_AUTHRESP, auth.hash(t.login_id, t.passwd, p[94]))
  File "C:\Anaconda\lib\site-packages\pyahoolib-0.2-py2.7.egg\yahoo\auth.py", line 73, in hash
    hs = md5.new(mkeystr+"".join(map(chr,[x,x>>8,y]))).digest()
ValueError: chr() arg not in range(256)

更新: @ merlin2011: これは私を混乱させます。コードは hs = md5.new(mkeystr+"".join(map(chr,[x,x>>8,y]))).digest() です。

chr の後にコンマがある場所。doc.python.org: chr(i) の関数だと思いました

Return a string of one character whose ASCII code is the integer i. For example, chr(97) returns the string 'a'. This is the inverse of ord(). The argument must be in the range [0..255], inclusive; ValueError will be raised if i is outside that range. See also unichr(). 

もしそうなら、 [x,x>>8,y] は map() の iterable ですか?

また、このコードは pyahoolib-0.2 auth.py ファイルの一部であるため、変更したくありません。しかし、それをすべて機能させるには、何をすべきかわかりません。

4

2 に答える 2

0

ご参考までに、エラー メッセージは、 が~chrの範囲内の引数のみを受け入れ、関数がその範囲外の値で呼び出されることを意味します。0256map

于 2014-04-13T07:42:49.630 に答える