부동 포인트 : 내 데이터를 IBM 32 비트 부동 점이다 unpack(">f", str)
는 IEEE 부동 소수점 풀기위한 실현파이썬 : 압축을 풀고 IBM 32 비트 나는이 같은 파이썬에서 바이너리 파일을 읽고 있었다
from struct import unpack
ns = 1000
f = open("binary_file", 'rb')
while True:
data = f.read(ns * 4)
if data == '':
break
unpacked = unpack(">%sf" % ns, data)
print str(unpacked)
숫자
내 질문 : 내 unpack
에 IBM 32 비트 부동 소수점 유형 번호의 압축을 해제하려면 어떻게해야합니까?
더 나은 성능을 얻으려면 ctypes
을 파이썬으로 확장해도 괜찮습니다.
편집 : 일부 검색을했다 : http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html
이 매우 유망한 보이지만, 좀 더 효율적 싶어 : 루프 수천의 가능성 수만이 있습니다.
편집 : 아래에 게시 된 답변. 팁 고마워. 먼저 부호없는 4 바이트 정수로 문자열을 압축 해제 한 후이 기능을 사용합니다 :
는 http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html은 엔디안 문제가 알아야 할, – NPE
@aix를 참조하십시오? –
해당 수정 사항을 답변으로 다시 게시하고 2 일 후 수락하십시오. 질문에 답변을 추가하지 마십시오. – agf