2017-11-04 18 views
1

私は私が書いたのthatsその本当にJPEG 簡単なスクリプトがPythonの.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

あなたはPython 2またはPython 3を使用していますか? –

+1

あなたのパターンは確かですか? 'JFIF'はおそらく見つけられますが、' HH'の部分が分かりません –

+0

あなたのjpegファイルにもリンクできますか?それは助けるだろう... –

答えて

0

これは最初の場所を探すための適切なパターンではありません。私は、JPEGファイルをチェックし、それはあなたがこの(Pythonの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") 
関連する問題