我有两个功能.请参阅以下功能;
def check_channel_number(self): print "***************Channel Checker *********************" print '' user_channel_number = int(re.sub('\D','',raw_input("Enter a channel number,(3digit): "))[:3]); channel = ("channelNr= '%d'") % (user_channel_number) print channel # channel_search = channel + str(user_channel_number) datafile = file('output.txt') found = False for line in datafile: if channel in line: found = True print 'The channel number you entered is correct and will be deleted' return user_channel_number print 'The channel number you entered is not on the planner' return False
只想在以下函数中使用(user_channel_number)的返回值.
def delete_events(self): if user_channel_number == True: return 'The program number is correct and will be deleted' # action = 'DeleteEvent' menu_action = 'all' book = 'RECYC:687869882' arg_list = [('C:\\Users\\yke01\\Documents\\StormTest\\Scripts\\Completed' '\\Utils\\UPNP_Client_Cmd_Line.py')] arg_list.append(' --action=') arg_list.append(action) arg_list.append(' --ip=') arg_list.append('10.10.8.89') arg_list.append(' --objectId=') arg_list.append(book) subprocess.call(["python",arg_list]) print 'The program deleted successfully'
当我运行我的脚本时,它说user_channel_number没有全局定义?如何在delete_events()函数中调用user_channel_number?
解决方法
函数无法共享其局部变量.您可以从第一个返回值并将其传递给第二个:
def check_channel_number(self): ... return user_channel_number def delete_events(self): user_channel_number = self.check_channel_number() ...
或者在对象上保存价值:
def check_channel_number(self): ... self.user_channel_number = user_channel_number ... def delete_events(self): if self.user_channel_number: ....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。