'Running Two Objects at Once

I am trying to see if Python can run two objects at once or simultaneously. I have researched multi threading and seems like it can handle this. All the posts I am seeing is to add functions to the target but not an actual instantiation of an object.

file1.py:

from threading import Thread

class Move_Images:

def __init__(self, rps_img_archive_fp, destination_fp, images_count, set_capturebatchno):

    self.rps_img_archive_fp = rps_img_archive_fp
    self.destination_fp = destination_fp
    self.images_count = images_count
    self.set_capturebatchno = set_capturebatchno

def get_fp_elem(self):

    count = 0

    capturebatchno_l = []
    img_fn_l = []
    final_dest_fp_l = []
    input_img_fp_l = []

    for path, directories, files in os.walk(self.rps_img_archive_fp):
        for file in files:
            count += 1
            # if count <= self.images_count:
            img_fp = os.path.join(path, file)
            capturebatchno = img_fp.split("\\")[7]
            get_cbn = [cbn for cbn in self.set_capturebatchno if cbn in capturebatchno]
            if get_cbn:
                capturebatchno_l.append(get_cbn[0])
                filename = img_fp.split("\\")[8]
                img_fn_l.append(filename)
                input_img_fp_l.append(img_fp)

    res = []
    for i in capturebatchno_l:
        if i not in res:
            res.append(i)

    for cbn, fn in zip(capturebatchno_l, img_fn_l):
        dest_fp = os.path.join(str(self.destination_fp) + "\\" + str(cbn) + "\\" + str(fn))
        final_dest_fp_l.append(dest_fp)

    return res, self.destination_fp, img_fn_l, self.rps_img_archive_fp, input_img_fp_l, final_dest_fp_l

move_images = Move_Images(rps_img_archive_fp=r'c:\\test\test\input',
           destination_fp=r'c:\\test\test\output', images_count=100,
                          set_capturebatchno=['00004002', '00004005'])
res, destination_fp, img_fn_l,rps_img_archive_fp, input_img_fp_l,final_dest_fp_l = \
    move_images.get_fp_elem()

move_images_2 = Move_Images(rps_img_archive_fp=rr'c:\\test\test\input',
           destination_fp=r'c:\\test\test\output', images_count=100,
                          set_capturebatchno=['000040010', '000040012'])

if __name__ == '__main__':
    Thread(target=move_images).start()
    Thread(target=move_images_2).start()


Solution 1:[1]

you can create for example a class (Move_Images) that inherhit from Thread itself and create a run function. Look into the accepted answer on this post maybe this is what u want.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Christoph