Je suis en train d'obtenir une chaîne à partir d'un fichier qui a une plage de début et de fin comme ci-dessous:Python: Fractionnement d'une valeur en deux et l'attribution en deux différentes variables
"Date Range = January 1, 2001 to December 24, 2008"
Je dois choisir cette date intervalle (du 1er janvier 2001 au 24 décembre 2008) et le diviser en deux variables différentes. Je suis capable d'aller chercher la plage de dates et de la diviser, mais lors de l'affectation, j'obtiens une erreur.
file_path = open("C:\\Users\\vinnu\\Desktop\\ARF_LS00006493_339313_Tremont.txt")
content = file_path.read()
#find and pick the date range
size = len(content)
start =0
while start < size:
start = content.find("Date Range: ",start)
start = start if start != -1 else size
#fetch only till the end of line
end = content.find("\n", start)
end = end if end != -1 else size
date_range = (content[start+12:end])
start = end + 1
#printing test
print (date_range)
#split
date1,date2= date_range.split(' to ')
print (date1)
print (date2)
je reçois la sortie ci-dessous avec une erreur:
January 1, 2001 to December 24, 2008
January 1, 2001
December 24, 2008
Traceback (most recent call last):
File "C:/Users/vinnu/Desktop/split_eg3.py", line 19, in <module>
date1,date2= date_range.split(' to ')
ValueError: not enough values to unpack (expected 2, got 1)
Je suggère de sauvegarder la valeur de retour de scission dans une variable (sauvant ainsi la liste complète des valeurs de retour) et l'impression que pour vérifier ce que vous les valeurs obtenir. il me semble que vous n'obtenez pas 2 valeurs de retour de la fonction split, seulement 1 –
C'est bizarre; Je ne peux pas reproduire votre erreur le code me va bien. Es-tu sûr qu'il n'y a pas autre chose? –
Il semble que l'erreur apparaisse sur la deuxième itération de votre boucle while, donc le problème peut se trouver à un autre endroit. – Sergius