Maison > Article > développement back-end > Comment gérer ValueError lors de la division des lignes d’entrée pour les paires question-réponse ?
Diviser les lignes d'entrée pour les paires question-réponse
Lors de la division d'une ligne d'entrée en plusieurs variables, vous pouvez rencontrer une ValueError indiquant un besoin pour plus ou moins de valeurs à déballer. Ce problème survient lorsque la ligne en cours de fractionnement ne contient pas le caractère délimiteur utilisé dans la méthode split.
Plus précisément, dans le code fourni, chaque ligne du fichier d'entrée est divisée au niveau des deux points (:). Si une ligne ne contient pas de deux-points ou plusieurs deux-points, la méthode de fractionnement échouera.
Causes des erreurs de valeur
Solution
Pour résoudre ce problème, vous pouvez vérifiez si la ligne d'entrée contient le nombre attendu de valeurs avant de la diviser :
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)
Cette vérification garantit que la ligne contient deux points avant de tenter de la diviser. Si la ligne ne contient pas de deux-points, elle est ignorée, empêchant ainsi la génération de ValueError.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!