Skip to main content
 首页 » 编程设计

python之在 Python 中使用 struct.unpack 从文件中读取整数

2025年05月04日10zhoujg

假设我有一个文件名 num.txt 如下:

1 2 3 4 5 
6 7 8 9 0 

我想从这个文件中读取3个整数,即1 2 3。

我知道 struct.unpack 可以解决问题,但我就是做不好。 这是我的做法:

fp = open('num.txt', 'rb') 
print struct.unpack('iii', fp.read(12))  #right? 

谁能帮我解决这个问题?

附言

这就是我得到文件 num.txt 的方式:

fp = open('num.txt', 'wb') 
fp.write('1 2 3 4 5\n6 7 8 9 0') 
fp.close() 

请您参考如下方法:

您不使用struct 从文本文件中读取数字。它用于从二进制文件中读取数据——第一个字节实际上是 0x01 而不是字节顺序标记或字符 '1' 的编码值。

你只要

three_ints = [int(x) for x in numfile.readline().strip().split(' ')[:3]] 

如果您只对前三个数字感兴趣,或者

all_ints = [[int(x) for x in line.split()] for line in numfile] 

如果你想要一个 list 的 list 每行 int。