把c数组类型的文件转成2进制文件

import os
import sys
from struct import *
#把c数组类型的文件转成2进制文件
#
def c_arrar_to_bin(c_txt_file,bin_file):
    myfile = open(c_txt_file,'r')
    outfile = open(bin_file,'wb')
    result = ''
    
    for line in myfile:
        newstr = line
        outstr = ''
        while newstr.find("0x")>=0:
            pos=newstr.find("0x")
            b= int(newstr[pos+2:pos+4],16)  #把字符转成16进制
            result += pack('B',b)           #保存
            newstr = newstr[pos+1:]         #删除前面的字符
    outfile.write(result)
    outfile.close()
    myfile.close()


print '---start---'
c_arrar_to_bin('c:\c_tpye.txt', 'c:\c_tpye.bin')
print '----end----'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值