从文件

时间:2016-03-19 11:55:56

标签: python

我有以下脚本读取整个file.bin文件,如何修改以读取文件的前1000行?感谢。

with open("file.bin","r") as text:
    for line in text:
        if line.startswith('MH =') or line.startswith('MN ='):
            value, key = line.strip().split('=')
            res[key] = value
            if num < 1000:
                print '%s : %s' % (key, value)
            num = num + 1

2 个答案:

答案 0 :(得分:1)

当你的数量达到1000时,休息;

ctr = 0;
for line in text:
    ctr = ctr + 1
    if ctr > 1000:
        break
    if line.startswith('MH =') or line.startswith('MN ='):
        value, key = line.strip().split('=')
        res[key] = value
        if num < 1000:
            print '%s : %s' % (key, value)
        num = num + 1

答案 1 :(得分:0)

对现有答案略有不同:

for i, line in enumerate(text):
    if i == 1000:
        break
    if line.startswith('MH =') or line.startswith('MN ='):
        value, key = line.strip().split('=')
        res[key] = value
        print '%s : %s' % (key, value)

对于这种情况可能有些过分,但有用的是'islice'函数'itertools',它允许你执行以下操作:

from itertools import islice

for line in islice(text, 1000):
    # ...

另外,偏离主题,但你可以做(​​除了使用正则表达式之外):

line.startswith(('MH =', 'MN ='))

而不是

line.startswith('MH =') or line.startswith('MN =')