我有一个非常大的文件,无法通过短信或类似的东西打开。 我需要检查(1)该行是否以特定字符串开头,以及(2)特定位置的数字(第148列(3位))是否小于预定义数字。然后打印完整的这一行
所以我尝试了以下代码。但它不起作用。
fobj = open("test2.txt")
for line in fobj:
if (line.startswith("ABS")) and (fp.seek(3, 148) < 400):
print line.rstrip()
任何人都可以帮助我吗?
答案 0 :(得分:2)
要将数字与字符串进行比较,您需要将其转换为:
int(fp.seek(3, 148)) < 400
您必须检查字符串以仅包含数字。
但是seek()
不是您正在寻找的功能,您可以使用它来跳过文件的字节到特定点。
请看这里:seek() function?
如果您的号码始终位于同一位置,则可以使用:
int(line[148:150]) < 400
使用正则表达式和字符串操作尝试: