TypeError:无法转换' int'反对意图

时间:2016-08-01 15:14:19

标签: python

我试图读取文件的最后一行。然后抓取文件中的前两位数字并添加一个数字,这样我就可以将其写入带有新产品的文件中。

with io.open('/home/jake/Projects/Stock','r+', encoding='utf8' as f:
    for line in f:
        if NewProduct == line[3:]:
             print ("You already sell this product, if you wish to add more stock please return to the menu")
        else:
             ProductPrice = input("Input A Price For This Product >> ")
             ProductAmount = input("How Many Do We Have In Stock >> ")
             last_line = f.readlines()
             New = last_line[-1]+int(1)
             Together = (New, NewProduct)
             TogetherV2 = (New, ProductPrice)
             TogetherV3 = (New, ProductAmount)

我正在阅读和追加的文件采用此格式

01 Tomatos
02 Chocolate
等等......我知道我还没有添加该部分来抓取文件中的前两个数字,我现在正试图抓住整条线然后将其调整为前两个数字但是没有成功。我知道这可能是重复的,我无法理解或解决问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

last_line的内容是一个字符串,例如"03 Apples"。您正在尝试将整数1添加到该字符串,这会引发转换错误。

要对值部分进行切片,并将其显式转换为int类型(这将允许您添加其他整数,请执行以下操作:

New = int(last_line[-1][:1]) + 1