Alc*_*ott 1 python file-io struct
假设我有一个文件名num.txt
如下:
1 2 3 4 5
6 7 8 9 0
Run Code Online (Sandbox Code Playgroud)
我想3 integers
从这个文件中读取,就是这样1 2 3
.
我知道struct.unpack
可能会做到这一点,但我无法做到这一点.我是这样做的:
fp = open('num.txt', 'rb')
print struct.unpack('iii', fp.read(12)) #right?
Run Code Online (Sandbox Code Playgroud)
有人可以帮我这个吗?
PS
这就是我得到文件num.txt的方式:
fp = open('num.txt', 'wb')
fp.write('1 2 3 4 5\n6 7 8 9 0')
fp.close()
Run Code Online (Sandbox Code Playgroud)
您不用于struct
从文本文件中读取数字.它用于从二进制文件中读取数据 - 其中第一个字节实际上0x01
是字节顺序标记或字符的编码值'1'
.
你只是想要
three_ints = [int(x) for x in numfile.readline().strip().split(' ')[:3]]
Run Code Online (Sandbox Code Playgroud)
如果你只对前三个数字感兴趣,或者
all_ints = [[int(x) for x in line.split()] for line in numfile]
Run Code Online (Sandbox Code Playgroud)
如果你想在每一行上list
有list
s的int
s.