2013-04-24 2 views
1

파이썬을 사용하여 이중 정밀도 파일 바이너리 파일을 작성하려면 어떻게해야합니까? 나는 현재 다음을 수행하고 있지만, 그것은 나에게 단 정밀도 파일을주고있다 :파이썬을 사용하여 배정도 바이너리 파일을 작성하십시오.

#!/usr/bin/env python 

import struct 

data =[2.3715231753176,9.342983274982732] 

output_file = "test.dat" 
out_file = open(output_file,"wb") 
s = struct.pack('f'*len(data), *data) 
out_file.write(s) 
out_file.close() 

답변

5

사용 d 배정 밀도 수레 작성 :

s = struct.pack('d'*len(data), *data) 

f단일 정밀 전용입니다. struct 모듈 문서의 Format characters 부 항목 : 'f''d' 변환 코드는

를 충전 표현은 부동 소수점에 관계없이 ('d' 용) ('f' 경우) IEEE 754 binary32 또는 binary64 형식을 사용 형식이 플랫폼에서 사용됩니다.

3

형식 문자열을 잘못 사용하고 있습니다. 배정 밀도를 사용하려면 'f'대신 'd'를 사용하십시오. 형식 문자 목록은 documentation을 참조하십시오.