读取文本文件时字符串索引超出范围

时间:2016-08-30 11:42:39

标签: python python-3.x

我继续在程序的第二行收到此错误,我不知道为什么,我所做的只是从文本文件中读取一行。

if (items[0]) == 86947367 :
        with open("read_it.txt") as text_file:
            try:
                price = int(text_file.readlines()[2])
            except ValueError:
                print("error")
            else:
                new_price = int(price * (items2[0]))
                print("£",new_price)
                price_list.append(new_price)
                product = (text_file.readline()[1])
                print(product)

2 个答案:

答案 0 :(得分:1)

当您使用readlines()时,您的"光标"在文件中到达终点。如果你第二次打电话,它就没有什么可读的了。

要避免此行为,您可以将text_file.seek(0)存储在变量中以供多次使用,或使用{{1}}将光标放回文件的开头。

答案 1 :(得分:0)

<强>问题:

price = int(text_file.readlines()[2])

readlines()导致readline()返回none或类似的东西。 尝试将readlines()存储在一个 tmp var然后

price = tmp[2]
product =tmp[1]