#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. Без проблем. Рад, что смог помочь!