bin2txt.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import sys
  2. import os
  3. def valb_to_hex(valb):
  4. result = ''
  5. val_high = valb / 16
  6. val_low = valb % 16
  7. if val_high > 9:
  8. result += chr(ord('A') + val_high - 10)
  9. else:
  10. result += chr(ord('0') + val_high)
  11. if val_low > 9:
  12. result += chr(ord('A') + val_low - 10)
  13. else:
  14. result += chr(ord('0') + val_low)
  15. return result
  16. def get_file_sizeb(file_path):
  17. if not os.path.isfile(file_path):
  18. return 0
  19. file_handle = open(file_path, "rb")
  20. file_handle.seek(0, 2)
  21. file_size = file_handle.tell()
  22. file_handle.close()
  23. return file_size
  24. def usage():
  25. print "[USAGE] python bin_to_txt.py input.bin output.txt"
  26. return
  27. def main():
  28. #parameter parsing
  29. if (len(sys.argv) > 3):
  30. usage()
  31. input_path = sys.argv[1]
  32. output_path = sys.argv[2]
  33. print "input_path: " + input_path
  34. print "output_path: " + output_path
  35. input_file_size = get_file_sizeb(input_path)
  36. input_file = open(input_path, 'rb')
  37. output_file = open(output_path, 'w')
  38. while(input_file_size > 0):
  39. ch = input_file.read(1)
  40. output_file.write(valb_to_hex(ord(ch)))
  41. input_file_size -= 1
  42. output_file.close()
  43. input_file.close()
  44. return
  45. if __name__ == '__main__':
  46. main()