关闭

Python 处理文件例程

136人阅读 评论(0) 收藏 举报
分类:
我现在一个文档  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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30851次
    • 积分:402
    • 等级:
    • 排名:千里之外
    • 原创:76篇
    • 转载:14篇
    • 译文:0篇
    • 评论:3条
    最新评论