按相应的顺序添加值以循环

时间:2017-02-19 20:11:31

标签: python loops instance-variables

嘿所以我想将从我的解析器中检索到的信息(在这种情况下是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())

这可以工作并返回我想要的信息:

  

发现信息:侏罗纪公园

     

发现的信息:Mad Max:Fury Road

由于返回列表包含我想要的信息,因此我想将其传递回另一个按顺序请求此信息的类实例。

     # 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'

很新的python所以请你好看:3!

1 个答案:

答案 0 :(得分: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)

让我知道这是否有效