2017-02-19 20 views
0

Эй, поэтому я хочу добавить информацию, полученную из моего анализатора, в этом случае InfoLoop() для переменной со всеми атрибутами.Добавить значения в цикл в соответствующем порядке

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()) 

Это работает и возвращает информацию, я хочу:

Информация найдена для: Jurassic Park

Информация о найденной для: Mad Max: Fury Дорога

С returnlist включает в себя информацию, которую я хочу, чтобы затем передать ее обратно в другой экземпляр класса, который запрашивает эту информацию в порядке.

 # 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())) 

Теперь приведенный выше код выдает правильные значения. Я хочу, чтобы он зацикливал эти действия для каждого фильма.

Есть ли способ, чтобы он сохранял информацию из Media.Movie в переменные внутри movie_list (jp_movie, maxx), т.е. фильм, для которого он получает список.

Обновлены и в настоящее время работает с:

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) 

он бросает 'str' object has no attribute 'append'

Довольно новый для питона так пожалуйста хороший: 3!

+2

'для movie_list в movie_list', в лучшем случае, излишне запутанной. –

+0

Жаль, что это казалось работать, поэтому я оставил его lol. Я в основном хочу, чтобы он зацикливался на количество значений в movie_list, есть ли лучший способ сделать это? @ScottHunter – G3noxide

ответ

0

Итак, я понимаю, что вы хотите сохранить информацию обо всех фильмах, правильно? Для этого вам нужно будет хранить данные каждого фильма в другом месте; Рекомендуемый способ - использовать список. прямо сейчас вы переписываете один и тот же объект, поэтому он сохраняет только последний фильм. Кроме того, вы дважды использовали имя «movie_list»: один раз для списка, а другой для объекта в цикле for. Вы должны попробовать следующее:

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) 

Позвольте мне знать, если это работает

+0

Эй! Не вызывает никаких ошибок, но у меня есть некоторые вопросы. 1. что он хранится как в my_movie_list? 2. Что делать в этой ситуации? – G3noxide

+0

Жестокая попытка мой лучший –

+0

oh Я предполагаю, что я должен добавить эти переменные (jp_movie и maxx) внутри my_movie_list правильно? – G3noxide