Perl is the only language that looks just as incomprehensible before and after a rot13 transformation.
Python on the other hand is the only language that will cause your application to stop working because you mixed up tabs and spaces, even though it looks perfectly fine on your scr.
And lisp is hard to say if you have one.
Edit: aa -> after a
I read that you’re manually tagging them, so your process can be whatever you want to do.
For example, you can leave the images in their current folder structure and create a separate folder structure with symbolic links to an image, so in the character folder would be symbolic links to all the images like that. They also don’t have to be unique, an image can be in multiple categories.
Alternatively you can use a spreadsheet and generate lists there.
Finally there are plenty of photo album applications that allow you to tag images.