Python 2.7 尝试将文件与python 2.7字典进行比较

Python 2.7 尝试将文件与python 2.7字典进行比较,python-2.7,Python 2.7,基本上,我正在阅读下面的文件,比较人们想要的水果和字典中的水果,如果库存高于0,则打印一条消息,说明他们已经得到了水果,如果库存为0,则显示一条消息,说明没有得到水果,等等 我得到的错误是:if语句第一行的“indexer-ror:list-index-out-range” [ ["James Bruce", "Bananas"], ["Katherine Newton", "Bananas"], ["Deborah Garcia", "Pears"], ["Marguerite Kozlows

基本上,我正在阅读下面的文件,比较人们想要的水果和字典中的水果,如果库存高于0,则打印一条消息,说明他们已经得到了水果,如果库存为0,则显示一条消息,说明没有得到水果,等等

我得到的错误是:if语句第一行的“indexer-ror:list-index-out-range”

[
["James Bruce", "Bananas"],
["Katherine Newton", "Bananas"],
["Deborah Garcia", "Pears"],
["Marguerite Kozlowski", "Pineapples"],
["Kenneth Fitzgerald", "Pineapples"],
["Ronald Crawford", "Bananas"],
["Donald Haar", "Apples"],
["Al Whittenberg", "Bananas"],
["Max Bergevin", "Bananas"],
["Carlos Doby", "Pears"],
["Barry Hayes", "Pineapples"],
["Donald Haar", "Bananas"]
]
字典:{“苹果”:14,“香蕉”:14,“菠萝”:0,“梨”:8}


JSON输入文件中的第一行是一个开括号。当您
split()
it时,列表中只会有一项,但您正在尝试访问第二项


考虑使用Python
json
模块输入json:。

您在发布一个。但是,我们无法访问您的C:驱动器。您已经为我们提供了文件内容,但为什么不在MCVE中分配变量呢?Re:
如果parts[1]==(“pears”)+dic[“pears”]>1:
。。。括号是不必要的,
+
应该是
。还可能需要
=1
的正确大小写“Pears”
from ast import literal_eval
with open("C:\Users\dylan gornall\Desktop\Dylan's Uni Work\stock.json") as f:
a = f.read()
dic = literal_eval(a)
print(dic["Apples"])

s = open ("C:\Users\dylan gornall\Desktop\Dylan's Uni Work\queue.json", 'r')
for line in s:
parts = line.split(',')

if parts[1] == ("pears") + dic["Pears"] > 1 :
    print( parts[0] + ' has been given ' + parts[1] )

elif parts[1] == ("Apples") + dic["Apples"] > 1 :
    print( parts[0] + ' has been given ' + parts[1] )

elif parts[1] == ("Bananas") + dic["Bananas"] > 1 :
    print( parts[0] + ' has been given ' + parts[1] )

elif parts[1] == ("Pineapples") + dic["Pineapples"] > 1 :
    print( parts[0] + ' has been given ' + parts[1] )