我有以下脚本读取整个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
答案 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 =')