한 함수에서 다음 함수로 값을 전달해야합니다.파이썬 함수 내에서 함수에 값 전달하기
예를 들어(내 IRC 봇은 채널의 명령에 응답하도록 프로그램) :
def check_perms(nick,chan,cmd):
sql = "SELECT `"+ cmd +"` FROM permissions WHERE nick = '"+ nick +"' and chan = '"+ chan +"'" # This returns 0
#sql = "SELECT `restart` FROM permissions WHERE nick = 'Me' and chan = '#mychan'" # this works as intended
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
if (row[0] == 1): # Nick logged in and has permission
return 1
else: # nick does not have permissions
return 0
def com_restart(nick,chan):
perm = check_perms(nick,chan,"restart")
if (perm == 0): # nick did not have permission
irc.send("NOTICE "+ nick +" :Permission denied.\n")
elif (perm == 1): # nick has permission
irc.send("PRIVMSG "+ chan +" :I've been asked to restart myself by "+ nick +".\n")
nick = "Me" # This is determined by a bunch of regex splits and such
chan = "#mychan" # This is determined by regex splits as well
com_restart(nick,chan)
나는 이것을 시도하지만,이 값이 SQL 쿼리에 전달되지 않는 것, 그래서 반환 0.
도움을 주셔서 감사합니다.
EDIT - 제가 지금하고있는 코드를 추가했습니다.
기능을 부르는 사람이 있습니까? 그렇지 않다면 아무 일도 일어나지 않을 것입니다. – simchona
구문과 관련하여 코드에 여러 가지 문제가 있지만 그 외에도 y를 어디에서 호출합니까? foo와 bar를 초기화 한 후에 y (foo, bar)와 같은 호출이 필요합니다. – Yuushi
실제 코드, 실제 해당 오류 메시지, 수행해야 할 작업에 대한 실제 설명, 실제 발생 상황에 대한 실제 설명, 실제 내용을 게시하십시오. –