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)

 

posted on 2022-06-28 19:57  yanhc  阅读(2640)  评论(0编辑  收藏  举报

导航