2013-03-04 2 views
0

바이너리 형식으로 저장된 jpeg 이미지가 있습니다. 이 바이너리를 편집하여 0xff 0xd8 앞에 오는 모든 바이트 쌍을 삭제해야합니다 (내 jpeg의 초기 부분이므로). 그 이유는 이미지 프로그램에서이 파일을 보려고하면이 0xff 0xd8 바이트 전에 오는 bytearray의 모든 부분을 제거하지 않는 한 열리지 않기 때문입니다.파이썬으로 편집하기 위해 바이너리 파일에서 바이트 쌍 위치 찾기

data= open ('C:/Users/Umberto/Desktop/_BR_Browse.001_2065642654_1.BINARY', 'rb+') 
edit= str (data.read()) 
data.close() 
edit.find ('/xff/xd8') 

하지만 난 항상받는 '-1'나 '찾기'방법을 사용하여 인수로 넣어 무엇 이건 인덱스로 : 는 여기에 지금까지 시도거야. 코드에 어떤 문제가 있습니까? 일단 내가 /xff/xd8의 위치를 ​​안다면, 나는 어떻게 든 그것 앞에 오는 것을 단순히 삭제할 것입니다.

+1

사용 '\'대신에 '/' 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/questions/3217334/pytho n-searching-reading-binary-data – Omar

+1

대신'edit.find ('\ xff \ xd8')'를 찾으십니까? –

+0

감사합니다. 문제가 해결되었습니다 .... 매우 빠릅니다! – umbe1987

답변

2

탈출구가 잘못되었습니다. 이 라인 edit.find('\xff\xd8')

관련 문제