Ошибка словаря Python Ошибка атрибута Dict

#python-3.x #dictionary #runtime-error

Вопрос:

У меня небольшая проблема с кодом Python. Я пытаюсь передать словарь от одного объекта методу другого объекта с помощью этого кода: self.data_object.write_result_csv(self.return_data())

Когда я запускаю программу, этот код работает 7 из 8 раз. При последнем запуске я получаю это сообщение об ошибке:

 AttributeError: 'dict' object has no attribute 'write_result_csv'´
 

Я весь день искал эту проблему и ничего не нашел. У кого-нибудь есть для меня подсказка.

Редактировать: Вот код для деталей:

метод return_data:

     def return_data(self):
    """Funktion um die Daten des Trades zurückzugeben"""
    return{'start_value': self.start_value, 'start_date': self.start_date, 'end_value': self.end_value, 'end_date': self.end_date, 'win': self.win}
 

метод write_result_csv:

  def write_result_csv(self, results):
    with open(self.csv_file, 'a', newline='') as file:
        writer = csv.writer(file)
        writer.writerow([results['start_value'], results['start_date'], results['end_value'], results['end_date'], results['win']])
 

Заранее спасибо.

Диксислайсер

Комментарии:

1. Недостаточно подробностей, чтобы ответить на ваш вопрос. Попробуйте вставить свой код

2. Все еще недостаточно информации. Важно то, откуда data_object это берется.

Ответ №1:

На основе сообщения об ошибке,

 AttributeError: 'dict' object has no attribute 'write_result_csv'
 

Вы пытаетесь позвонить <dict>.write_result_csv(<args>) . Это означает, что в приведенном выше коде self.data_object это простой dict() , а не объект, который вы хотите. Можете ли вы проверить, что он всегда правильно инициализирован?

Комментарии:

1. Я снова перешел в режим отладки и обнаружил свою ошибку. В объекте, где был сгенерирован этот объект, у меня был неверный набор параметров, поэтому вместо объекта был задан диктант. Иногда вы не видите леса между всеми деревьями, как мы говорим в Германии. Большое спасибо.

2. Без проблем. Рад, что смог помочь!