2017-09-30 10 views
-1

아래의 속성 오류의 원인을 파악할 수 없습니다. 나는 내가 여기서 잘못하고있는 것이 정말로 확실하지 않다. 어떤 도움이라도 좋을 것입니다!Python의 속성 오류

역 추적 (마지막으로 가장 최근 통화) : movie_writter.writerow에 파일 "project2.py", 라인 (140), ([movie.title, movie.author, movie.itunes_id, movie.itunes_URL, movie.length]) AttributeError : 개체가 어떤 속성 length가 없습니다 : '영화'객체는 그것이 무엇을 의미하는지 의미없는 속성 '길이'

class Movie(Media): 
    def __init__(self, diction_file): 
     Media.__init__(self, diction_file) 
     self.rating = diction_file['contentAdvisoryRating'] 
     self.genre = diction_file['primaryGenreName'] 
     try: 
      self.track_time = diction_file['trackTimeMillis'] 
     except: 
      self.track_time = 0 
     try: 
      self.description = diction_file['longDescription'] 
     except: 
      self.description = None 

    def __len__(self): 
     return self.track_time/1000 
    def title_words_num(self): 
     if self.description != None: 
      return len(self.description.split()) 
     else: 
      return 0 

    movie_list = [Movie(diction_file) for diction_file in movie_samples] 

    with open('movies.csv', 'w', newline = '') as movies_csv: 
     movie_writter = csv.writer(movies_csv, delimiter=',') 
     movie_writter.writerow(["Title", "Artist", "ID", "URL", "Length"]) 
     for movie in movie_list: 
      movie_writter.writerow([movie.title, movie.author, movie.itunes_id, movie.itunes_URL, movie.length]) 
    movies_csv.close() 
+2

동영상 개체를 볼 수 있습니까? –

+0

@PatrickHaugh 방금 영화 개체를 보여주기 위해 내 게시물을 편집했습니다. 감사합니다! – Avery9115

+0

@roganjosh 제가 만든 Movie 클래스를 추가했습니다, 감사합니다! – Avery9115

답변

3

이 없습니다. 당신은 마법 방법으로 매핑되는 len(movie)을 의미했을 것입니다.

또한이 방법은 __len__ 방법에 적합하지 않습니다. 그것은 어떤 종류의 수집품/용기에도 사용되어서 내부에있는 아이템을 보여주기 위해 사용됩니다. 영화 시간은 사물의 양이 아닙니다.

+0

정말 고마워! – Avery9115