2016-08-10 1 views
0

에서 진수 형식의 덤프 파일을 만드는 방법 내가파이썬

MemDump = Debug.readMemory(ic.IConnectDebug.fRealTime, 0, 0xB0009CC4, 0xCFF, 1) 

    MemData = MemDump[:3321] 
    # Create New file in binary mode and open for writing 
    fp = open("MON.dmp", 'w') 
    sys.stdout = fp 
    for byte in MemData: 
     print(byte) 
나는이 작성한 코드를 파이썬 스크립트 를 사용하여 (구체적으로 HEX 파일) 하나 개의 바이너리 파일에 덤프 할 정수의 배열을

여기 MemDump에는 정수 값의 배열이 포함됩니다. 이 배열 첫 번째 3321 바이트 파일에서 덤프 싶어요. 출력 파일은 MON.dmp 파일이지만 ASCII fromat 파일입니다. 내가

fp = open("MON.dmp", 'wb') 

인쇄 (바이트) 명령을 사용하여 바이너리 형식의 파일을 만드는 경우 나에게

'str' does not support the buffer interface 

가 사전에 감사합니다라는 오류를 제공합니다.

답변

1

'wb'모드로 열린 파일에 쓰기 전에 byte을 이진 문자열로 변환해야합니다. 이것은 bytearray() 기능을 사용하여 수행 할 수 있습니다. 따라서이 경우에 사용한다 :

for byte in MemData: 
    print(bytearray(byte)) 
+0

'바이트() '함수는 ALOS 나에게 같은 오류 을 제공 ' 'STR' – PV2710

+0

'fp.write interface' 버퍼를 지원하지 않습니다 (이 ByteArray (MemData를))' 나를 위해 작동합니다. 예상대로 결과를 얻으십시오. @Dartmouth : 나에게 힌트를 주셔서 감사합니다. – PV2710

+0

좋아, 좋아, 답변을 업데이트했습니다. – Dartmouth