私の問題の背景は、モーションフォトのビデオデータ(私のサムスンS7撮影)を抽出したいということです。手動では簡単ですが時間がかかります。 .jpgファイルをHexEditorで開き、 "MotionPhoto_Data"という行の後にすべてのデータを抽出します。最初の部分は画像で、2番目の部分は動画です。.jpgファイルにデータをカットしてmpgファイルとして保存
私の現在のコード
im = 'test.jpg'
with open(im, 'rb') as fin:
data = fin.read()
data_latin = data.decode('latin1')
fin.close()
position = data_latin.find('MotionPhoto_Data')
data_pic = data[:position]
data_mpg = data[position:]
私の問題は、今私はdata_pic
が働いビデオなどの作業JPGとdata_mpg
として保存されるような方法でこれらの文字列を保存する方法を見つけ出すcan'tということです。
私は
with open('test_pic.jpg', 'a') as fin:
fin.write(str(data_pic))
fin.close()
を試してみました。しかし、このdidn'tで働いていました。データの処理方法や保存方法には基本的な問題があると思いますが、これを修正する方法を見つけることはできません。
感謝:) – Kai
を今、私は再びそれを読んでいることを、あなたは「fout.closeを()」を使用してはなりません"with"ステートメントを使用する場合。 "with"ステートメントは "close"関数を使用する必要がないので、混乱します。 – cbodt