python 文件转成16进制数组的实例

如下所示:

#! /usr/bin/python2
# coding=utf-8

import numpy
import binascii

if __name__=='__main__':
 #my_matrix = numpy.loadtxt(open("d:\\local.pcm", "rb"), delimiter=",", skiprows=0)
 #print my_matrix
 with open('d:\\local.pcm', 'rb') as f:
  all = f.read()

  with open('d:\\aa.txt', 'w') as f:
   f.write("char buf[]={")
   for d in all:
    #e = "%02s," % hex(ord(d))
    #print binascii.b2a_hex(d)
    e = "0x%s," % binascii.b2a_hex(d)
    #print e
    f.write(e)
   #L = f.tell()
   #f.seek(L-1,0)
   f.seek(-1, 2)
   f.write("};")
   '''
  for i in all:
   #print type(i),i,int('0x10', i)
   x = "0x%s" % i
   print type(x),x
   b = binascii.b2a_hex(i)
   c = "0x%s" % b
   print b,type(b),c, type(c)
  '''

相关推荐