从文件中每隔第n个(第8个字符)打印一次[Python]

从文件中每隔第n个(第8个字符)打印一次[Python],python,function,loops,file-io,Python,Function,Loops,File Io,我有一个从文件中转储的长序列位。现在,我想获取这个比特序列,并能够从中提取每8个比特。例如: 100010010101000001001110010001110000110100001010 000110100000101000000000000000000000000000001101 010010010100100001000100010100100000000000000000 etc 将提供: 100110 (extraction from second line) (extracti

我有一个从文件中转储的长序列位。现在,我想获取这个比特序列,并能够从中提取每8个比特。例如:

100010010101000001001110010001110000110100001010
000110100000101000000000000000000000000000001101
010010010100100001000100010100100000000000000000
etc
将提供:

100110
(extraction from second line)
(extraction from third line)
etc
到目前为止,我有以下代码:

 #/usr/bin/python

 with open("thebits.txt", 'r') as f:
        content = [x.strip('\n') for x in f.readlines()]
        {//logic to extract every 8th bit from each line and print it}
如何从每行中提取每8位?
.

您可以使用简单的切片:

with open('thebits.txt', 'r') as f:
    for line in f:
        print line.strip()[7::8]
您的示例文件给出:

100110
000001
100000

切片
[7::8]
从第8行开始每8个字符(从0开始索引7)为您提供一个字符。

假设您希望每一行分别显示:

with open('tmp.txt', 'r') as f:
    for line in f.read().splitlines():
        print(line[7::8])
with open('tmp.txt', 'r') as f:
    for line in f.read().splitlines():
        print(line[7::8])