The error is referring to this line:
country, city = line.split("/")
split("/")
returns a list
containing the words from the string line
, split using the /
character. For example, if line
is "japan/tokyo", then line.split("/")
will return the list
['japan', 'tokyo']
If there is no /
character, then the list will just contain 1 element. For example if line
is "japan,tokyo", splitting it will just return
['japan,tokyo']
What is happening with country, city = ...
is called list unpacking, meaning the 1st element is saved to country
and the 2nd element of the list is saved to city
. If your list is is ['japan', 'tokyo']
, then country
will get "japan" and city
will get "tokyo". If the number of elements in the right-hand side list does not match the left-hand side variables, you will get a "not enough values to unpack" error.
Now, I cannot see what's in capital_data.txt, but most probably, the line
's from your file does not have a /
delimiter (ex. "japan, tokyo"). So split
-ing the line with /
results in just 1 list element ("got 1"), but the left-hand side has 2 variables ("expected 2").
To get past that, you need to match your file reader code with your actual file format, such as maybe using the correct delimiter (replacing /
).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…