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