À l'aide de la valeur de retour à l'intérieur d'une autre fonction

J'ai deux fonctions. Veuillez voir les fonctions ci-dessous;

 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

Voulez juste utiliser le retour de la valeur de (user_channel_number) de la fonction suivante.

   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'

Quand je lance mon script, il est dit user_channel_number n'est pas défini à l'échelle mondiale ? Comment puis-je appeler user_channel_number à l'intérieur de la delete_events() fonction?

  • 1. Vous typecasted user_channel_number à int, puis essayez de le comparer à True. 2. check_channel_number renvoie toujours false. 3. Votre instruction de retour dans delete_events s'arrête tout le code après que de s'exécuter. On dirait que vous êtes dans une classe? Vous pouvez définir self.user_channel_number de la rendre accessible à toutes les méthodes dans la classe que vous êtes dans.
InformationsquelleAutor pylearner | 2016-11-25