파이썬에서 작은 클라이언트 - 서버 테스트를 실행 중이며 클라이언트가 서버에 단어를 보냅니다. 이 단어는 파이썬에서 호출해야하는 함수의 이름입니다. 따라서 "blink"라는 단어가 전송되면 "blink"라는 함수를 호출해야합니다. (이들이 여러 키워드와 함수가 될 수 있으므로 어떤 형태의 함수 호출이 필요합니다.)변수를 함수 이름으로 사용하여 파이썬 호출하기
while True:
s.listen(1)
conn, addr = s.accept()
print 'Connection address:', addr
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
if data == "blink":
print "MATCH!"
call(data())
print "received:",data
call(data())
print "break"
정확히 일치하는 단어가 수신되도록 단어 MATCH가 인쇄됩니다. 변수 데이터를 사용하여 blink 함수를 호출하는 방법은 무엇입니까?
지금
TypeError: 'str' object is not callable
내가 오류를 이해할 수 얻을 .. 분명 그 문자열 .. 어떤 아이디어로 뭔가를해야합니까?
'데이터()', 당신은 문자열 개체를 호출하는 것을 시도하고있다. 어쩌면 당신은'call (data) '을 의미할까요? –
이렇게하려면 eval 또는 exec를 사용할 수 있습니다. http://stackoverflow.com/questions/2220699/whats-the-difference-between-eval-exec-and-compile-in-python – Dan
@ Dan No. 아니요 아니요. 'eval' 또는'exec'을 사용하지 마십시오. –