我需要从函数内的一个函数传递值到下一个函数。将值传递给函数中的函数python
例如(我的IRC bot的编程,以在通道响应命令):
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.
感谢您提供任何帮助。
编辑 - 添加了我现在正在使用的代码。
你有没有打电话给你的功能?如果不是的话,什么都不会发生。 – simchona 2012-01-12 01:53:50
当涉及到语法时,你的代码有多个问题,但除此之外,你在哪里调用y?在初始化foo和bar之后,您需要调用y(foo,bar)。 – Yuushi 2012-01-12 01:54:43
请发布实际的代码,真实的相应的错误信息,真实描述它应该做什么,实际发生的真实描述,真实的事情。 – 2012-01-12 03:04:11