I have got an existing menu that gives you options L or D. L should load the contents of a file and D should display it.
if option == "l" or option == "L":
    with open("packages.txt") as infp:
        for line in infp:
         line = line.rstrip()
         name,adult,child= line.split(',')
if option == "d" or option == "D":
    print ((name)," - ",(adult)," / ",(child))
However, when I try to run this I get the error:
name,adult,child= line.split(',')
ValueError: need more than 1 value to unpack
Why do I get this error?
This means that there is a line in packages.txt that, when you strip whitespace and split on commas, doesn't give exactly three pieces. In fact, it seems that it gives only 1 piece ("need more than 1 value to unpack"), which suggests that there's a line with no commas at all.
Perhaps there are blank or comment lines in packages.txt?
You may need your code to be smarter about parsing the contents of the file.
This error is occurring at
name,adult,child= line.split(',')
When you assign three variables on the left it is assuming you have a 3-tuple on the right. In this example, it appears line has no comma hence line.split(',') results in a list with only one string, thus the error "more than 1 value to unpack".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With