2017-02-19 1 views
0

Hey, also möchte ich die Informationen hinzufügen, die von meinem Parser in diesem Fall die InfoLoop() auf eine Variable mit allen Attributen abgerufen wird.Fügen Sie Werte zu Schleife in der entsprechenden Reihenfolge

movie_list = jp_movies, maxx 
    # these values in movie_list include tokens ei(107290) that the parser takes and 
    # it then grabs all the key info I want about that movie with Imdbpy plugin 


    print("Processing...") 
    # print the title for the shows found with token 
    for movie_list in movie_list: 
     returnlist = Media.InfoLoop(movie_list) 
     print ("Info found for: "+ returnlist.show_title()) 

Dies funktioniert und gibt die Informationen Ich möchte: Jurassic Park

Info für::

Info gefunden für Mad Max: Fury Straße

Seit der returnlist enthält die Informationen, die ich möchte, die ich dann an eine andere Klasseninstanz zurückgeben möchte, die diese Informationen der Reihe nach anfordert.

 # Share with Movie() 
    print("Pushing values to instance...") 
    for movie_list in movie_list: 
     Media.Movie((returnlist.show_title()), 
        max_test, 
        (returnlist.show_cover()), 
        max_max_youtube, 
        (returnlist.show_year()), 
        (returnlist.show_rating())) 

Jetzt gibt der obige Code auch die korrekten Werte aus. Ich möchte, dass diese Aktionen für jeden Film wiederholt werden.

Gibt es eine Möglichkeit, die Informationen von Media.Movie in die Variablen in movie_list (jp_movie, maxx) zu speichern, dh den Film, für den die Liste erstellt wird.

aktualisiert und arbeitet derzeit mit:

jp_movies, maxx = str(107290), str(1392190) 
    movie_list = [jp_movies, maxx] 

    for movie in movie_list: 
    print("Processing...") 
    returnlist = Media.InfoLoop(movie_list) 
    print ("Info found for: "+ returnlist.show_title()) 
    print("Pushing values to instance...") 
    current_movie = Media.Movie((returnlist.show_title()), 
           max_test, 
           (returnlist.show_cover()), 
           mad_max_youtube, 
           (returnlist.show_year()), 
           (returnlist.show_rating())) 
    movie_list.append(current_movie) 

es ein 'str' object has no attribute 'append'

ziemlich neu in Python wirft also bitte schön: 3!

+2

'für movie_list in movie_list' funktioniert, ist im besten Fall unnötig verwirrend. –

+0

Sorry yah es schien zu funktionieren, also behielt ich es lol. Ich möchte, dass es für die Anzahl der Werte in movie_list eine Schleife gibt, gibt es einen besseren Weg das zu tun? @ScottHunter – G3noxide

Antwort

0

Also ich verstehe, dass Sie die Informationen für alle Filme behalten möchten, richtig? Dafür müssen Sie die Daten jedes Films an einem anderen Ort speichern. Der empfohlene Weg ist die Verwendung einer Liste. Sie schreiben gerade das gleiche Objekt neu, weshalb nur der letzte Film gespeichert wird. Außerdem haben Sie den Namen "movie_list" zweimal verwendet: einmal für die Liste und einen weiteren für das Objekt in der for-Schleife. Sie sollten versuchen, die folgenden:

print("Pushing values to instance...") 
my_movie_list = [] 
for movie in movie_list: 
    returnlist = Media.InfoLoop(movie) 
    current_movie = Media.Movie((returnlist.show_title()), 
       max_test, 
       (returnlist.show_cover()), 
       max_max_youtube, 
       (returnlist.show_year()), 
       (returnlist.show_rating())) 
    my_movie_list.append(current_movie) 

Lassen Sie mich wissen, ob dies

+0

Hey! Es wirft keine Fehler auf, aber ich habe einige Fragen. 1. Wie wird es gespeichert wie in der my_movie_list? 2. Was macht .append in dieser Situation? – G3noxide

+0

Ill versuche mein Bestes –

+0

oh ich vermute ich sollte diese Variablen (jp_movie und maxx) in my_movie_list richtig hinzufügen? – G3noxide

Verwandte Themen