Python 处理文件例程

来源:互联网 发布:客户生日提醒软件 编辑:程序博客网 时间:2024/06/05 23:40
我现在一个文档  wave.txt, 里面都是浮点数表示的整数,

-1.100000000000000000e+01
-1.100000000000000000e+01
-1.200000000000000000e+01
 1.100000000000000000e+01
-1.200000000000000000e+01
-9.000000000000000000e+00
 9.000000000000000000e+00
-1.200000000000000000e+01
-1.100000000000000000e+01
-1.400000000000000000e+01
 1.400000000000000000e+01
-1.300000000000000000e+01
-1.500000000000000000e+01



想转换成  十六进制补码形式的。放到waveout.txt中
fffffff5
fffffff5
fffffff4
b
fffffff4
fffffff7
9
fffffff4
fffffff5
fffffff2
e
fffffff3
fffffff1


采用下面的文档。。这里文档和程序放到一个文件夹下
import struct,os,re


def float_to_hex():
   main_path=os.path.dirname(__file__)
    main_path =main_path.replace('\\','/')
   fin=main_path+r'/wave.txt'
   fout=main_path+r'/waveout.txt'
    FIN=open(fin,'r')
   FOUT=open(fout,'w')
   
   [FOUT.writelines(str(hex2(int(float(line)))).replace('0x','').replace('L','')+'\n')for line in FIN]    

    FIN.close()
    FOUT.close()
    
def hex2(a):
    return a>0 and hex(a)or hex(a&0xffffffff)



if __name__ == "__main__":
    float_to_hex()


0 0
原创粉丝点击