Разделение входных строк: обработка ошибок значений
При разделении входных строк с помощью функции Split() очень важно убедиться, что входные строки содержат ожидаемые разделители. Если в строке отсутствует назначенный разделитель, например двоеточие (:), функция Split() вернет либо одно значение, либо исключение.
Понимание ошибок значений
Причина ошибок ValueErrors
В вашем конкретном коде ошибки ValueErrors, вероятно, возникают из последней строки в строке ввода. входной файл, который может содержать только пустые места. Когда вы выполняете метод string.strip() для этих пустых мест, он возвращает пустую строку, которая при разделении на двоеточие дает пустую строку. В результате у вас останется один элемент, что вызовет ошибку «для распаковки требуется более 1 значения».
Решение
Чтобы предотвратить эти ошибки ValueError, вы можете реализовать проверку чтобы гарантировать, что каждая строка имеет ожидаемый разделитель. Вот модифицированная версия вашего кода:
questions_list = [] answers_list = [] with open('qanda.txt', 'r') as questions_file: for line in questions_file: line = line.strip() if ':' in line: questions, answers = line.split(':') questions_list.append(questions) answers_list.append(answers)
Добавляя оператор if, проверяющий наличие разделителя двоеточие, вы отфильтровываете строки, в которых он отсутствует, и предотвращаете выдачу функцией Split() ошибок ValueError.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3