python - 파일 대체 바이너리 스크립트

914 단어
import struct
import os,sys

extfun=lambda x: x

def read_file_hex(file_path):
    file_object = open(file_path,'rb')
    file_object.seek(0,0)
    hex_str =''
    byte = file_object.read()
    if byte:
        for b in byte:
            hex_str += ('%02X' % extfun(ord(b)))
    file_object.close()
    return hex_str

def wirte_to_file(hex,file_path):
    fout = open(file_path,'wb')
    for i in range(len(hex)/2):
        x = int(hex[2*i:2*(i+1)], 16)
        fout.write(struct.pack('B', extfun(x)))
    fout.close()

def hex_replace(hex,find_str,replace_str):
    return hex.replace(find_str,replace_str)
    
    
if __name__=='__main__':
    file_str = read_file_hex('test.txt')
    new_file_str = hex_replace(file_str,"333434","414243")
    wirte_to_file(new_file_str,'test.txt')

    
    

좋은 웹페이지 즐겨찾기