私は辞書の "エントリ"に関数を代入しているところに問題があります。 これは、コードから次のとおりです。辞書キーに関数を割り当てる - Python
assignment[message[0]] = self.request.sendall
if members == 0:
for request in assignment:
request("PING")
print(request)
print("Sent PING")
そして、これはトレースバックです。私が理解しているところから、私は文字列を呼び出そうとしていると思っています。
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 295, in_handle_request_noblock
self.process_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python27\lib\SocketServer.py", line 655, in __init__
self.handle()
File "C:\Users\Radek Golan\Desktop\Sequencer\Sequencer_Server.py", line 58, in handle
request("PING")
TypeError: 'str' object is not callable
そして、これは辞書が出てリストされている:私は間違って何をやっている
{'nick1': <bound method _socketobject.sendall of <socket._socketobject object at 0x02883EA0>>, 'nick2': <bound method _socketobject.sendall of <socket._socketobject object at 0x02883FB8>>}
?
または 'for value in assignent.values()'。 – GingerPlusPlus
@GingerPlusPlus ugh ....もちろん!ありがとうございました – idjaw
Python 2では 'for value in assignment.itervalues()'となりました。 – letmutx