Python-如何单独停止代码检查文本文件的每一行?

时间:2017-04-06 14:05:46

标签: python file

所以我正在处理一个基本上有一个文本文件的代码,该文件存储了一个'产品列表,用户应该能够输入他们的产品GTIN-8代码想要并从中获得收据。 我已经做到这一点,当用户输入GTIN-8代码时,代码会查看Products文本文件以查找匹配的GTIN-8代码。如果是这样,它应该获得该行代码,然后将其写入另一个名为'收据' (我无法想到其他任何方式)。它也应该说'产品发现'或者'该产品不存在'取决于是否匹配。但是,我的代码检查每一行代码,并在屏幕上显示每行代码是否匹配。我需要有一行代码,以便我可以获取该行的信息,但我不希望代码检查每一行。就像整个文件的概述一样,挑出那条特定的行。我希望这是有道理的。

with open("Productsfile.txt") as f:
    Found = False
    for line in f:
        if ProductsWanted in line:
            Receipt=open("ReceiptFile.txt","a")
            Receipt.write("%r x%r\n" % (line, AmountOfProducts))
            Receipt.close()
            print("Product found!")
            Found = True
    if not Found:
        print("That product does not exist")

(我删除了屏幕截图/链接,并将其作为文字放入,如果放入截图/链接是错误的事情,我很抱歉) 谢谢!!!

2 个答案:

答案 0 :(得分:0)

有多少产品?

如果少于百万,请考虑将该文件的内容读入字典,并键入GTIN-8代码。

(这有意义吗?)

答案 1 :(得分:0)

如果您要处理较小的文件,则可以将文件行读入列表,然后检查该行是否在列表中。像这样:

Lines=[x.strip() for x in open("file.txt")] #readlines has \n at the end of lines so use strip to remove it
If product in lines:
    print "line no =",lines.index(product)+1 
else:
    print "Product not found"