Bonjour,
Je souhaite créer une liste qui reprendrait tous les films (repris d'un fichier CSV), sachant que chaque film est un objet Movie.
Mais, lorsque j'ajoute un objet à la liste, il ajoute bien cet objet mais il écrase aussi automatiquement tous les objets de la liste et les remplace par l'objet qu'on voulait ajouter.
Voilà la classe :
class Movie:
# -------------------------------------------------------------------------
movie_id: int
movie_imdb: int
name: str
actors: List[Actor]
summary: str
category: List[str]
# -------------------------------------------------------------------------
def __init__(self, movie_id: int, name: str, category: []):
self.movie_id = movie_id
self.movie_imdb = 0
self.name = name
self.actors = []
self.summary = ""
self.category = category
# -------------------------------------------------------------------------
def imprimer(self):
print(movie_id)
print(name)
print(category)
Code pour stocker les films dans la liste :
f = open ('test_movies.csv')
fichier_test = csv.reader(f)
category = []
tous_les_films = []#Liste qui contiendra l'ensemble des films provenant du fichier movies.csv
movieId = 0
for ligne in fichier_test:
category.clear()
movie_id = ligne[0]
name = ligne[1]
category_ligne = ligne[2]
for mot in category_ligne.split("|"):
category.append(mot)
film = Movie(movie_id, name, category)
tous_les_films.append(film)
for i in tous_les_films:
i.imprimer()
Output:
5 Father of the Bride Part II (1995) ['Comedy']
5 Father of the Bride Part II (1995) ['Comedy']
5 Father of the Bride Part II (1995) ['Comedy']
5 Father of the Bride Part II (1995) ['Comedy']
5 Father of the Bride Part II (1995) ['Comedy']
Contenu fichier Csv:
1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy
2,Jumanji (1995),Adventure|Children|Fantasy
3,Grumpier Old Men (1995),Comedy|Romance
4,Waiting to Exhale (1995),Comedy|Drama|Romance
5,Father of the Bride Part II (1995),Comedy
Merci d'avance pour votre aide :)
Code pour ajouter l'objet dans la liste: