Search code examples
python-3.xexifexiftool

Writing exif data to the exif header using PyExifTool


Looking over a post from 2015 link on how to use PyExifTool to write to the Exif header. I gave it a try:

import exiftool
fileno=r'DSC00001.JPG
with exiftool.ExifTool() as et:
    et.execute("EXIF:GPSLongitude=100",fileno)
    et.execute("EXIF:GPSLatitude=100",fileno)

In response, I got the following error:

TypeError: sequence item 0: expected a bytes-like object, str found

Then as specified in the documentation, execute takes byte commands, so I bites, so I tried that too:

with exiftool.ExifTool() as et:
   et.execute(bytes("EXIF:GPSLongitude=100", 'utf-8'),fileno)
   et.execute(bytes("EXIF:GPSLatitude=50",'utf-8'),fileno)

But still got the same error :

TypeError: sequence item 1: expected a bytes-like object, str found

I am not sure what am I doing wrong, and if Exiftool can write to file.


Solution

  • #Gracias!
    
        exif = r'...\exiftool.exe'
        file=br"...\FRM_20220111_134802.JPG"
        
        with exiftool.ExifTool(exif) as et:
            et.execute(b"-DateTimeOriginal=2022:10:10 10:10:10", file)
            tag = et.get_tag("EXIF:DateTimeOriginal", file)
            ...
    
    #RCM_Chile