Python 处理文件例程

我现在一个文档   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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值