python 将二进制文件转为文本文件
转换一个文件
import os
binFileName = input("input bin file name:")
binFile = open(binFileName, 'rb')
txtFileName = binFileName[:-3] + "txt"
txtFile = open(txtFileName, 'w')
fileSize = os.path.getsize(binFileName)
pos = binFile.tell()
while pos < fileSize:
data = binFile.read(1)
value = int.from_bytes(data, byteorder='big', signed=False)
pos = binFile.tell()
if pos < fileSize:
txtFile.write('%02x ' % value)
else:
txtFile.write('%02x' % value)
print('%02x ' % value)
转换一个目录下的所有文件
import os fileList = os.listdir("file") binFileList = [] for tmpList in fileList: if tmpList.find("bin") > -1: binFileList.append(tmpList) os.chdir("file") for binFileName in binFileList: print(binFileName) binFile = open(binFileName, 'rb') txtFileName = binFileName[:-3] + "txt" txtFile = open(txtFileName, 'w') fileSize = os.path.getsize(binFileName) pos = binFile.tell() while pos < fileSize: data = binFile.read(1) value = int.from_bytes(data, byteorder='big', signed=False) pos = binFile.tell() if pos < fileSize: txtFile.write('%02x ' % value) else: txtFile.write('%02x' % value)