J'apprends la gestion de fichiers à partir d'un site Web et j'ai essayé d'exécuter un certain script, mais cela n'a pas bien fonctionné pour moi.ValueError: pas assez de valeurs à décompresser. Pourquoi?
Il revient sans cesse cette erreur à la ligne: city, day, time = line.split()
ValueError: not enough values to unpack (expected at least 2, got 0)
Je suis en train de alphabétiser et cornichon vider une liste des villes et leurs fuseaux horaires, le fichier texte comporte plusieurs lignes comme celle-ci:
Salt lake city Sun 09:52
San Francisco Sun 00:52
Amsterdam Sun 08:52
Denver Sun 01:52
San Salvador Sun 01:52
Detroit Sun 02:52
Voici le code:
import pickle
lines = open("cities_and_times.txt").readlines()
lines.sort()
cities = []
for line in lines:
*city, day, time = line.split()
hours, minutes = time.split(":")
cities.append((" ".join(city), day, (int(hours), int(minutes))))
f_new = open("cities_and_times.pkl", "bw")
pickle.dump(cities, f_new)
print(cities)
Indice: Que se passe-t-il lorsque vous avez une ligne vide? –
Vous pouvez ignorer les lignes vides avec 'sinon ligne: continue'. BTW, vous avez un problème d'indentation: le truc après la ligne 'cities.append' ne devrait pas être dans la boucle' for'. –
Une ligne vide, comment? Sur le fichier texte? Il n'y en a pas, mais il y a des espaces vides entre les lignes. – Danjoe