Python. "Нужно более одного значения для распаковки"

def store_inFile(Name,Address,Area,Postcode):
    #open the file
    File2 = open("Fines.txt","rt")

    #write the name address and post code to file and save to file
    File2.write(str(Name)+"\n"+str(Address)+"\n   "+str(Area)+"\n      "+str(Postcode));File2.close()

    #set File to open the datatbase
    File =open("DATABASE.txt","rt")
    NumP_Input = str(input("Number plate of person speeding. ").upper())

    #loop each line intil the numberplate gets a match
    for line in File:
        Numberplate,Name,Address,Area,Postcode = line.split("|") #here use whatever you have splitting your database ie , . / ( |
        if NumP_Input.upper() == Numberplate:
            #output name address and number plate
            print("Fine sent to \n \n"+str(Name)+"\n"+str(Address)+"\n   "+str(Area)+"\n      "+str(Postcode));store_inFile(Name,Address,Area,Postcode)

Я хочу прочитать из базы данных, и если пользователь вводит номерной знак, связанный с базой данных, вся информация (параметры) отправляется в другой файл.

1 ответ

Проверьте ваш ввод - файл "DATABASE.txt". Есть line что не имеет "|" поэтому он не "разбит на пять частей", как того требует ваш код:

Numberplate,Name,Address,Area,Postcode = line.split("|")

Пример:

>>> line = "hello, world"
>>> Numberplate,Name,Address,Area,Postcode = line.split("|")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
Другие вопросы по тегам