所以我正在处理一个基本上有一个文本文件的代码,该文件存储了一个'产品列表,用户应该能够输入他们的产品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")
(我删除了屏幕截图/链接,并将其作为文字放入,如果放入截图/链接是错误的事情,我很抱歉) 谢谢!!!
答案 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"