Python,分段错误
我以这种方式读取python 2.7.3中的二进制文件:Python,分段错误,python,binary,Python,Binary,我以这种方式读取python 2.7.3中的二进制文件: import os, struct from numpy import * win_span = 8 coinc_window = zeros(2) event = asarray((False, False, False, False)) Statistics = zeros(5) with open("myfile", "rb") as f: byte = f.read(8) while byte != "":
import os, struct
from numpy import *
win_span = 8
coinc_window = zeros(2)
event = asarray((False, False, False, False))
Statistics = zeros(5)
with open("myfile", "rb") as f:
byte = f.read(8)
while byte != "":
time_bin = struct.unpack("<Q", byte)[0]
byte = f.read(2)
channel_tag = struct.unpack("<H", byte)[0]
if time_bin > coinc_window[1] + win_span:
Statistics[4] += event[0]*event[2]
event = asarray((False, False, False, False))
coinc_window = coinc_window[::-1]
coinc_window[1] = time_bin
event[channel_tag-1] = True
Statistics[channel_tag-1] += 1
byte = f.read(8)
print "Fin"
导入操作系统,结构
从numpy进口*
win_span=8
coinc_窗口=零(2)
事件=数组((假,假,假,假))
统计数据=零(5)
打开(“myfile”、“rb”)作为f:
字节=f.read(8)
而字节!="":
time_bin=struct.unpack(“当你注释掉做其他事情
部分时,seg故障是否仍然发生?换句话说,它是否发生?你所做的只是读取和解包?对我有效(即没有seg故障)(一旦我添加了导入结构
)在由/dev/uradom
制作的8MB文件上。耸耸肩我责怪“其他东西”启用并显示回溯。你应该包括“其他东西”“,这样我们就可以告诉你你的代码到底出了什么问题。我用list
s替换了所有numpy.ndarray
s,问题就解决了,运行速度更快了。谢谢大家。