Python for循环用于在每第n行之后打印n行

时间:2015-04-29 09:37:01

标签: python for-loop binary

我想循环遍历二进制文件并打印特定字节。如何在每第n个字节后使用for循环打印出n个字节。

一个例子:0到10之间的数字,每3个数字后打印2个数字将等于输出:3,4,8,9。

3 个答案:

答案 0 :(得分:1)

虽然我不想鼓励在没有尝试预期与实际输出的情况下询问代码的问题,但我会指出您不必实际更改for循环的步长:

for i in xrange(3,20,5):
  print i
  print i+1

<强> [编辑]

请注意,xrange仅存在于python&lt; 3,range已在&gt; = 3中接管了该角色。

答案 1 :(得分:0)

def myiter(x,y,s,n):
    for i in xrange(x,y,s):
        for j in range(n):
            yield i+j

样本用法:

In:[i for i in myiter(1,101,10,3)]
Out:[1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42, 43, 51, 52, 53, 61, 62, 63, 71, 72, 73, 81, 82, 83, 91, 92, 93]

答案 2 :(得分:-1)

它只是一个带有整数列表的示例,但您可以将其调整为字节:

mylist = range(17)

i = 0
for value in mylist:
    if i >= 3:
        print value
    i = (i+1)%5