Python:检查特定位置的数字是否更大?

时间:2014-05-23 07:38:38

标签: python find line

我有一个非常大的文件,无法通过短信或类似的东西打开。 我需要检查(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()

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

要将数字与字符串进行比较,您需要将其转换为:

int(fp.seek(3, 148)) < 400

您必须检查字符串以仅包含数字。

但是seek()不是您正在寻找的功能,您可以使用它来跳过文件的字节到特定点。

请看这里:seek() function?

如果您的号码始终位于同一位置,则可以使用:

int(line[148:150]) < 400

使用正则表达式和字符串操作尝试:

http://pymotw.com/2/re/