Save objects into separate blender files
Saving multiple objects as separate Blender's files can be done by using BlendDataLibraries (https://docs.blender.org/api/current/bpy.types.BlendDataLibraries.html)
import bpy
import os
destination_folder = &quot;destination_folder&quot;

for idx, obj in enumerate(bpy.data.objects):
    ctx = bpy.context.copy()
    ctx['selected_objects'] = obj
    filename = 'file_number' + str(idx) + '.blend'
    filepath = os.path.join(destination_folder, filename)
    bpy.data.libraries.write(filepath, set(ctx['selected_objects']), fake_user=True)

This code snippet will save the object in a blender's file. To load then the data in the visible user interface a second snippet can be run on the opened saved file:
collection = bpy.data.collections.new('collection')
for obj in bpy.data.objects:
  collection.objects.link(obj) #link object to collection
bpy.context.scene.collection.children.link(collection) #add collection

This second script creates a collection and loads all the objects in the Blender file into it and (in some sense) sets it visible/active