2016-11-09 82 views
0

我正在尝试接受用户的输入并将其与文本文件的内容进行比较。他们会输入一个八位数字,如果这个数字出现在txt文件中,那么代码应该输出它所在的行。无法从文本文件中找到并输出行(PYTHON)

while (len(code) == 8): 

    with open('GTIN Products.txt', 'r') as search: 
     for line in search: 
      line = line.rstrip('\n') 
      if code == line: 
       print(line) 

当程序运行并且输入号码时,没有输出。只是空白。

+0

每行只包含一个八位数字,没有别的?还是有更多的数据?考虑:“123”==“123ABC”是假的,即使一个在另一个里面。 – Kevin

+0

有一个八位数字,一个产品(即“发刷”),然后是一个单一的数字号码 – AntsOfTheSky

回答

1

两个想法:

1)你确定你正确地打开文件和阅读内容?

2)您要求8个字符的代码与该行相同,即该行也必须是8个字符。是这样吗?你可能想尝试

if code in line: 
    print(line) 
    break 
+0

“如果代码行:”工作谢谢你,傻我。虽然,它反复印刷线条而不是一次......你知道如何防止这种情况吗? – AntsOfTheSky

+0

请提供重现问题的代码;包括数据文件。 – Prune

+0

检查我的编辑,如果这对你有用,请将它标记为答案:)。 – zenlc2000

相关问题