对于为什么我的python脚本无法识别文本文件中的绝对数字我一无所知。
这是文本文件:
001420999;
000502999;
000120999;
000126999;
001220499;
001180000;
001104799;
001123111;
这是我正在使用的代码:
with open('/var/www/html/capcodes.txt', 'r') as f:
capcodes = capcode.split()
for cap in capcodes:
if cap.strip() in f.read():
print("true")
else:
print("false")
是的,capcodes
已满,他确实得到了cap.strip()没问题。
这变得越来越陌生了,它唯一说的是数字:“ 001180000”,其他数字则无效。
答案 0 :(得分:2)
.read
读取整个文件。调用一次后,您就在文件末尾。在循环开始之前运行一次read()并将结果存储在变量中,因此:
with open('/var/www/html/capcodes.txt', 'r') as f:
capcodes = capcode.split()
stored_lines = f.read()
for cap in capcodes:
if cap.strip() in stored_lines:
print("true")
else:
print("false")
请注意,如果要查找全行匹配项,则可能需要先进行一些清理,然后将文件放入列表中:
with open('/var/www/html/capcodes.txt', 'r') as f:
capcodes = capcode.split()
stored_lines = [line.strip() for line in f.readlines()]
for cap in capcodes:
if cap.strip() in stored_lines:
print("true")
else:
print("false")
...否则,如果文件中有行“ 12345”,则上限的“ 123”值将匹配。