我有下一个任务:我需要从文件中读取结构数组。读取一个结构没有问题:
structFmt = "=64s 2L 3d" # char[ 64 ] long[ 2 ] double [ 3 ]
structLen = struct.calcsize( structFmt )
f = open( "path/to/file", "rb" )
structBytes = f.read( structLen )
s = struct.unpack( structFmt, structBytes )
读取“简单”类型的数组也没有问题:
f = open( "path/to/file", "rb" )
a = array.array( 'i' )
a.fromfile( f, 1024 )
但是structFmt
从文件中读取 1024 个结构是有问题的(当然对我来说)。我认为,读取 1024 次 struct 并将其附加到列表中是一种开销。我不想使用像numpy
.