蟒蛇。 “需要多个值来解包”

时间:2015-05-31 19:16:07

标签: python database rt

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 个答案:

答案 0 :(得分: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
相关问题