2017-11-04 7 views
1

나는 내가 쓴 그게 전부는 정말 JPEG 간단한 스크립트가파이썬 .JPEG 인식

했다 확인하기 위해 "JFIFHH의".JPEG 뒤에 ASCII 또는 바이너리를 잡아 예를 들어 검색하는 프로그램을 작성하려고했다
test = open('test.jpeg', 'rb') 

data = test.read() 
print(data) 

if 'JFIFHH' in data : 
    print('FOUND') 

elif 'JFIFHH' not in data :  
    print('not found') 

항상 거기에 있어도 인쇄되지 않습니다. 그래서 나는 인쇄 된 이진 파일이 아니라는 것을 알았지 만, 어떻게하면이 작업을 할 수 있습니까 ???

+0

파이썬 2 또는 파이썬 3을 사용하고 있습니까? –

+1

패턴을 확인 하시겠습니까? 'JFIF'는 아마도 발견되었지만'HH' 부분은 확실하지 않습니다 –

+0

또한 jpeg 파일에 연결할 수 있습니까? 그게 도움이 될 것입니다 ... –

답변

0

처음에는 적절한 패턴을 찾지 않습니다. 나는 JPEG 파일을 확인하고 당신이 (파이썬 2/3 호환 코드)처럼, FF D8 시작 & FF D9 최종 바이트 시퀀스 찾아야 미국 주이 answer으로 JFIF하지만 JFIFHH ...

을 포함 :

with open("test.jpeg","rb") as f: 
    contents = f.read() 
    if contents.startswith(b"\xff\xd8") and contents.endswith(b"\xff\xd9"): 
     print("it's a jpeg")