The wrong way: ldo@theon:~> python2 Python 2.7.11+ (default, May 9 2016, 15:54:33) [GCC 5.3.1 20160429] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pymtp >>> mtp = pymtp.MTP() >>> mtp.connect() Device 0 (VID=04e8 and PID=6860) is a blah blah blah >>> topdirs = dict((t.name, t) for t in mtp.get_parent_folders()) >>> alldirs = mtp.get_folder_list() >>> photos_root = topdirs["DCIM"] >>> photos_dir = list(f for f in alldirs.values() if f.name == "Camera" and f.parent_id == photos_root.folder_id)[0] >>> print(list(f for f in mtp.get_filelisting() if f.parent_id == photos_dir.folder_id)) [IMG_20150502_141333.jpg (5184), IMG_20150502_141336.jpg (5185), etc] >>> mtp.disconnect() >>>^D
The right way <https://github.com/ldo/mtpy>: ldo@theon:~> python3 Python 3.5.1+ (default, May 9 2016, 11:00:17) [GCC 5.3.1 20160429] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import mtpy >>> dev = mtpy.get_raw_devices()[0].open() Device 0 (VID=04e8 and PID=6860) is a blah blah blah >>> p = dev.get_descendant_by_path("/DCIM/Camera") >>> p.get_children() [<File “/DCIM/Camera/IMG_20150801_162923.jpg”>, <File “/DCIM/Camera/IMG_20150731_153318.jpg”>, etc] >>> dev.close() >>>^D -- https://mail.python.org/mailman/listinfo/python-list